我想找到条件不同的两行之间的累积和。
我的数据如下:
row diff state
1 30 3
2 30 2
3 30 2
4 30 1
5 30 1
6 30 1
7 30 2
8 30 2
9 30 3
10 30 1
对于状态== 1的每一行,我想知道该行与状态== 3的前一行之间的累积差异。
这是最终目标:
row diff state lag
1 30 3 NA
2 30 2 NA
3 30 2 NA
4 30 1 90
5 30 1 120
6 30 1 150
7 30 2 NA
8 30 2 NA
9 30 3 NA
10 30 1 30
我尝试过:
df$lag[df$state == 1] <- cumsum(df$diff[df$state == 3])
但这只是从状态开始== 1以来给了我的积淀。
row diff state lag
1 30 3 NA
2 30 2 NA
3 30 2 NA
4 30 1 30
5 30 1 60
6 30 1 90
7 30 2 NA
8 30 2 NA
9 30 3 NA
10 30 1 30