Как создать таблицу частот по группам в 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 AG
2 AG
3 AG
4 AF
5 BG
6 BF
7 BF
8 BC
Допустим, мы хотим создать таблицу частот, показывающую частоту каждой позиции, сгруппированную по командам.
Для этого мы можем использовать следующий синтаксис:
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 AF 1
2 AG 3
3 BC 1
4 BF 2
5 BG 1
Вот как интерпретировать результат:
- 1 игрок команды А занимает позицию «F»
- 3 игрока из команды А занимают позицию «G».
- 1 игрок команды Б занимает позицию «С»
- 2 игрока из команды Б занимают позицию «F».
- 1 игрок команды Б занимает позицию «G».
Обратите внимание, что мы можем переименовать столбец, содержащий частоты, изменив имя переменной в функции summary() .
Например, вместо этого мы могли бы переименовать столбец в «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 AF 1
2 AG 3
3 BC 1
4 BF 2
5 BG 1
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные функции в dplyr:
Как рассчитать относительные частоты с помощью dplyr
Как сортировать переменные по группам с помощью dplyr
Как выбрать столбцы по индексу с помощью dplyr