Создание таблиц подсчета для нескольких переменных

#r

Вопрос:

У меня есть набор данных, который выглядит примерно так:

  Indicator       A1        B1      C1      A2     B2      C2      D2    E2    A3    B3    C3
 Control         0         1        0       3      3      2       0      1    0     4      1
 Control         1         1        2       3      2      0       1      3    2     1      0
Treatment        2         0        1       3      3      4       2      4    0     2      2
 

И так далее в течение примерно 100 наблюдений. Это оценки от 0 до 4. Я хотел бы создать таблицу частот, которая включает частоты 0-4 по всем переменным (A1, B1 и т.д.), Сгруппированным по индикаторам. Я знаю только эту функцию table (), но она принимает только два аргумента. Здесь я хотел бы выделить три группы.

Кроме того, в моем наборе данных больше переменных (названных в тех же строках, что и H1, H2, J3, J4 и т.д.), И, скорее всего, будет добавлено больше. В идеале код должен учитывать это.

Спасибо!

Ответ №1:

Вы можете получить данные в длинном формате, а затем использовать count :

 library(dplyr)
library(tidyr)

df %>%
  pivot_longer(cols = -Indicator) %>%
  count(Indicator, name, value)