Як створити таблицю частот за групами в 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 гравець з команди B займає позицію «C»
  • 2 гравці з команди B мають позицію «F»
  • 1 гравець з команди B займає позицію «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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *