这是我想要计算的数据:
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
答案 0 :(得分:4)
尝试
> 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你可以找到其他一些替代品。