我怎样才能得到 R 中 X 行的累计总和,它从特定行重新开始让我说我想从第二行重新开始

问题描述 投票:0回答:0

我有一个这样的df

a   b
1   3
2   3
3   3
4   3
1   3
2   3
3   3
4   3

我想要这样的解决方案。我想要 3 个交叉点的“a”列的移动总和,这是 b 列的值。 b 列的值可以更改。

结果

a   b   CumSum
1   3   1
2   3   3
3   3   6
4   3   9
1   3   8
2   3   7
3   3   6
4   3   9

下面是我使用的代码

df$cum_sum <- ave(a, 
              (seq_along(a)-1)%/%
                b,
              FUN= cumsum)

但这会重新开始第 4 次观察的累积和,这不是预期的结果。

r cumulative-sum cumsum rolling-sum
© www.soinside.com 2019 - 2024. All rights reserved.