Как создать таблицу частот по группам в R


Вы можете использовать следующие функции из пакета dplyr для создания частотной таблицы по группам в R:

library(dplyr)

df %>%
 group_by(var1, var2) %>%
 summarize(Freq=n())

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: создание таблицы частот по группам

Предположим, у нас есть следующий фрейм данных в R:

#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
 position=c('G', 'G', 'G', 'F', 'G', 'F', 'F', 'C'))

#view data frame
df

 team position
1 A G
2 A G
3 A G
4 A F
5 B G
6 B F
7 B F
8 B C

Предположим, мы хотим создать таблицу частоты, которая показывает частоту каждой позиции, сгруппированной по командам.

Для этого мы можем использовать следующий синтаксис:

library(dplyr)

#calculate frequency of position, grouped by team
df %>%
 group_by(team, position) %>%
 summarize(Freq=n())

# A tibble: 5 x 3
# Groups: team [2]
 team position Freq

1 A F 1
2 A G 3
3 B C 1
4 B F 2
5 B G 1

Вот как интерпретировать вывод:

  • 1 игрок команды А имеет позицию «F»
  • 3 игрока команды А занимают позицию «G».
  • 1 игрок в команде B имеет позицию «C»
  • 2 игрока в команде B занимают позицию «F».
  • 1 игрок в команде B имеет позицию «G»

Обратите внимание, что мы можем переименовать столбец, содержащий частоты, изменив имя переменной в функции summ() .

Например, мы могли бы вместо этого переименовать столбец в «count»:

library(dplyr)

#calculate frequency of position, grouped by team
df %>%
 group_by(team, position) %>%
 summarize(count=n())

# A tibble: 5 x 3
# Groups: team [2]
 team position count

1 A F 1
2 A G 3
3 B C 1
4 B F 2
5 B G 1

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные функции в dplyr:

Как рассчитать относительные частоты с помощью dplyr
Как ранжировать переменные по группам с помощью dplyr
Как выбрать столбцы по индексу с помощью dplyr

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.