What exactly do you want the output to look like?
I have this, but I am not sure if that is what you want:
library(dplyr)
df <- data.frame(stringsAsFactors = FALSE,
ID = c(1,2,3,4,5,6,7,8),
JPC_VI_GRUPO = c(1,1,2,2,3,3,4,4),
JPC_VI_COND=c("D","D","D","I","I","D","I","I"),
JPC_VI_DECISION1=c(1,3,4,2,1,4,3, 1))
df %>%
group_by(JPC_VI_GRUPO, JPC_VI_COND) %>%
count() %>%
pivot_wider(JPC_VI_COND, names_from = c(JPC_VI_GRUPO), values_from = n)
# A tibble: 2 x 5
# Groups: JPC_VI_COND [2]
JPC_VI_COND `1` `2` `3` `4`
<chr> <int> <int> <int> <int>
1 D 2 1 1 NA
2 I NA 1 1 2