如何在 r 中运行 sumif 函数
通常,您可能只想查找 R 数据框中满足特定条件的行的总和。幸运的是,使用以下基本语法可以轻松做到这一点:
aggregate(col_to_sum ~ col_to_group_by, data=df, sum )
以下示例展示了如何在以下数据帧上使用此语法:
#create data frame
df <- data. frame (team=c('a', 'a', 'b', 'b', 'b', 'c', 'c'),
pts=c(5, 8, 14, 18, 5, 7, 7),
rebs=c(8, 8, 9, 3, 8, 7, 4),
blocks=c(1, 2, 2, 1, 0, 4, 1))
#view data frame
df
team pts rebs blocks
1 to 5 8 1
2 to 8 8 2
3 b 14 9 2
4 b 18 3 1
5 b 5 8 0
6 c 7 7 4
7 c 7 4 1
示例 1:对列运行 SUMIF 函数
以下代码显示了如何查找每个团队的得分总和:
aggregate(pts ~ team, data=df, sum )
team pts
1 to 13
2 b 37
3 v 14
示例 2:对多列运行 SUMIF 函数
以下代码显示了如何查找每支球队的得分和篮板总数:
aggregate(cbind(pts, rebs) ~ team, data=df, sum )
team pts rebs
1 to 13 16
2 b 37 20
3 c 14 11
示例 3:对所有列运行 SUMIF 函数
以下代码显示了如何查找每个团队的数据框中所有列的总和:
aggregate(.~team, data=df, sum )
team pts rebs blocks
1 to 13 16 3
2 b 37 20 3
3 c 14 11 5
注意: R 中使用点 ( . ) 来表示“所有”列。