这是我想要计算的数据:
data
type time grade money
1 A 1.0000 16 2
2 A 1.5625 25 3
3 A 4.0000 64 4
4 A 1.0000 16 6
5 A 1.0000 16 3
6 A 1.0000 16 1
7 A 3.0000 48 2
8 B 4.0000 64 8
9 B 4.0000 64 4
10 B 3.0000 48 4
11 C 4.0000 64 3
12 C 1.5625 25 3
我可以用命令根据不同类型求和,
sqldf("select type,sum(time),sum(grade) from data group by type")
并得到正确的结果:
我尝试了ggregate(data,by=list("type"),FUN=sum)
,但得到了错误的结果。
我怎样才能用aggregate
得到它?
type sum(time) sum(grade)
1 A 12.5625 201
2 B 11.0000 176
3 C 5.5625 89
最佳答案
尝试
> aggregate(.~type, FUN=sum, data=data)
type time grade
1 A 12.5625 201
2 B 11.0000 176
3 C 5.5625 89
In this post您可以找到其他一些替代方案。
关于r - 如何用聚合得到相同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19359076/