#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)