如何用聚合获得相同的结果

时间:2013-10-14 11:22:54

标签: r

这是我想要计算的数据:

   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

1 个答案:

答案 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你可以找到其他一些替代品。