我有一个包含 2 列的数据框,如下所示:
> data.frame(x=1:10, y=c(0,0,0,1,1,0,0,1,0,1))
x y
1 1 0
2 2 0
3 3 0
4 4 1
5 5 1
6 6 0
7 7 0
8 8 1
9 9 0
10 10 1
我想获得列的累积和x
(cumsum(df$x)
),但总和应在1
出现在列中y
。这是我正在寻找的结果:
1
3
6
10
5
6
13
21
9
19
我怎样才能在 R 中实现这一目标?
您可以通过使用来实现ave
:
ave(d$x,c(0,cumsum(d$y[-nrow(d)])),FUN=cumsum)
# [1] 1 3 6 10 5 6 13 21 9 19
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)