2

这是我要计算的数据:

   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
4

1 回答 1

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

在这篇文章中,您可以找到其他一些替代方案。

于 2013-10-14T11:24:21.503 回答