如何在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 中执行其他常用功能:

如何使用 dplyr 计算相对频率
如何使用 dplyr 按组对变量进行排序
如何使用 dplyr 按索引选择列

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注