【发布时间】:2013-01-23 18:57:31
【问题描述】:
我有以下数据框
dd1 = data.frame(cond = c("D","A","C","B","A","B","D","C"), val = c(11,7,9,4,3,0,5,2))
dd1
cond val
1 D 11
2 A 7
3 C 9
4 B 4
5 A 3
6 B 0
7 D 5
8 C 2
现在需要根据 cond 中的因子水平计算累积和。结果应如下所示:
> dd2 = data.frame(cond = c("D","A","C","B","A","B","D","C"), val = c(11,7,9,4,3,0,5,2), cumsum=c(11,7,9,4,10,4,16,11))
> dd2
cond val cumsum
1 D 11 11
2 A 7 7
3 C 9 9
4 B 4 4
5 A 3 10
6 B 0 4
7 D 5 16
8 C 2 11
以与输入数据帧相同的顺序接收结果数据帧很重要,因为还有其他变量与之绑定。
我尝试了ddply(dd1, .(cond), summarize, cumsum = cumsum(val)),但没有产生我预期的结果。
谢谢
【问题讨论】: