Использование stack()
t(table(stack(df[-1])))
values
ind 1 2 3 4 5 6
Q1_1 5 0 2 0 0 0
Q1_2 3 1 1 1 1 0
Q1_3 2 1 0 0 1 3
Q1_4 1 5 1 0 0 0
Q1_5 2 0 5 0 0 0
В качестве альтернативы, выбор места, где вы остановились:
do.call(rbind, lapply(df[-1], function(x) table(factor(x, levels = 1:6))))
1 2 3 4 5 6
Q1_1 5 0 2 0 0 0
Q1_2 3 1 1 1 1 0
Q1_3 2 1 0 0 1 3
Q1_4 1 5 1 0 0 0
Q1_5 2 0 5 0 0 0
(Воспроизводимые) данные:
df <- data.frame(
ID = c("par1", "par2", "par3", "par4", "par5", "par6", "par7"),
Q1_1 = c(1L, 3L, 3L, 1L, 1L, 1L, 1L),
Q1_2 = c(1L, 1L, 2L, 3L, 5L, 4L, 1L),
Q1_3 = c(1L, 5L, 6L, 6L, 6L, 1L, 2L),
Q1_4 = c(2L, 1L, 2L, 2L, 3L, 2L, 2L),
Q1_5 = c(3L, 1L, 1L, 3L, 3L, 3L, 3L)
)