我需要弄清楚如何继续c
中的累积总和,而{4}中的下一行中有真值来自它弯腰的行。
预期输出位于crit
列中:
X
我没有具体的代码可以显示,因为我有一大堆尝试,循环, crit c X
1 1 0 NA
2 1 0 NA
3 1 0 NA
4 1 0 NA
5 1 1 1
6 1 2 2
7 1 3 3
8 1 4 4
9 1 5 5
10 1 6 6
11 1 7 7 # end of curent cumsum in x
12 0 0 NA
13 0 0 NA
14 0 0 NA
15 1 0 8 # c rollsum should continue here
16 1 0 9 # because there weren't 4 rows with 0 in crit
17 1 0 10
18 0 0 NA
19 1 0 11
20 0 0 NA
21 0 0 NA
22 0 0 NA
23 0 0 NA
24 1 0 NA # cumsum should stop as 4 rows have crit = 0
25 1 0 NA
,rle
...
我只能看到这个被解决的方法是使用将ifelse
中正在进行的cumsum添加到c
行的函数,并在其中的条件超过4行且值为0时停止在df$c[i<(i-1)]
。
数据集:
crit