根据观察所属的类别对数据帧的列进行求和

时间:2014-04-15 01:33:14

标签: r dataframe sum

我有一个数据框:

     Response  Spent    Saved
1       Yes     100      25 
2       Yes     200      50 
3       No       20       2
4       No       13       3

我想总结花费和保存的金额,具体取决于响应,即:

     Response  Spent    Saved
1       Yes     300      75 
2       No      33       5  

现在,我正在使用一种陈腐的方法,我将数据框子化为2个新数据帧,将第2和第3列转换为数字数据,在每列上单独执行colSums,然后将输出保存到向量中,然后创建一个新的数据框....足以说它是一种可怕的方法。

我怎么能这样做更有效?

感谢您阅读

1 个答案:

答案 0 :(得分:3)

检查?aggregate

如果您的data.frame是DF,则以下内容应该符合您的要求。

aggregate(. ~ Response, data = DF, FUN = sum)
##   Response Spent Saved
## 1       No    33     5
## 2      Yes   300    75