【发布时间】:2014-07-03 22:20:24
【问题描述】:
我有这个data.frame 叫dum
dummy <- data.frame(label = "a", x = c(1,1,1,1,0,1,1,1,1,1,1,1,1))
dummy1 <- data.frame(label = "b", x = c(1,1,1,1,1,1,1,1,0,1,1,1,1))
dum <- rbind(dummy,dummy1)
我要做的是在dum 的x 列中从 0 开始计算累积和。求和将按label 列分组,可以在dplyr 或plyr 中实现。我苦苦挣扎的部分是如何从x 中的0 位置开始累积和向外。
生成的data.frame 应如下所示:
>dum
label x output
1 a 1 4
2 a 1 3
3 a 1 2
4 a 1 1
5 a 0 0
6 a 1 1
7 a 1 2
8 a 1 3
9 a 1 4
10 a 1 5
11 a 1 6
12 a 1 7
13 a 1 8
14 b 1 8
15 b 1 7
16 b 1 6
17 b 1 5
18 b 1 4
19 b 1 3
20 b 1 2
21 b 1 1
22 b 0 0
23 b 1 1
24 b 1 2
25 b 1 3
26 b 1 4
这需要对数百万行数据进行数千次迭代。
像往常一样,感谢您的任何帮助
【问题讨论】:
标签: r dataframe cumulative-sum