如何在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
以下是如何解释结果:
- A 队1 名球员占据“F”位置
- A 队3 名球员的位置为“G”
- B 队1 名球员占据“C”位置
- B 队2 名球员的位置为“F”
- B 队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 中执行其他常用功能: