如何在 r 中聚合多列(附示例)


我们可以使用 R 中的Aggregate()函数来生成数据框中一个或多个变量的汇总统计数据。

该函数使用以下基本语法:

聚合(sum_var ~ group_var,数据 = df,FUN = 平均值)

金子:

  • sum_var:要汇总的变量
  • group_var:要分组的变量
  • data:数据块的名称
  • FUN:要计算的汇总统计数据

本教程提供了几个使用此函数在 R 中一次聚合一列或多列的示例,使用以下数据框作为示例:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C'),
                 conf=c('E', 'E', 'W', 'W', 'W', 'W', 'W', 'W'),
                 points=c(1, 3, 3, 4, 5, 7, 7, 9),
                 rebounds=c(7, 7, 8, 3, 2, 7, 14, 13))

#view data frame
df

  team conf points rebounds
1 AE 1 7
2 AE 3 7
3 AW 3 8
4 BW 4 3
5 BW 5 2
6 BW 7 7
7 CW 7 14
8 CW 9 13

示例 1:汇总变量并按变量分组

以下代码显示了如何查找按团队分组的平均得分:

 #find mean points scored, grouped by team
aggregate(points ~ team, data = df, FUN = mean, na. rm = TRUE )

  team points
1 A 2.333333
2 B 5.333333
3 C 8.000000

示例 2:汇总一个变量并按多个变量分组

以下代码显示了如何查找按团队和会议分组的平均得分:

 #find mean points scored, grouped by team and conference
aggregate(points ~ team + conf, data = df, FUN = mean, na. rm = TRUE )

  team conf points
1 AE 2.000000
2 AW 3.000000
3 BW 5.333333
4 CW 8.000000

示例 3:汇总多个变量并按一个变量分组

以下代码显示如何查找按球队分组的平均得分和平均篮板数:

 #find mean points scored, grouped by team and conference
aggregate( cbind (points,rebounds) ~ team, data = df, FUN = mean, na. rm = TRUE )

  team points rebounds
1 A 2.333333 7.333333
2 B 5.333333 4.000000
3 C 8.000000 13.500000

示例 4:汇总多个变量并按多个变量分组

以下代码显示如何查找按球队和会议分组的平均得分和平均篮板数:

 #find mean points scored, grouped by team and conference
aggregate( cbind (points,rebounds) ~ team + conf, data = df, FUN = mean, na. rm = TRUE )

  team conf points rebounds
1 AE 2.000000 7.0
2AW 3.000000 8.0
3 BW 5.333333 4.0
4 CW 8.000000 13.5

其他资源

如何计算R中多列的平均值
如何对 R 中的特定列求和
如何对 R 中的特定行求和

添加评论

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