Как создать таблицу частот по группам в 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *