cumsum() 从最后一个条目开始并向后移动

Bog*_*aso 2 r cumsum

我想从最后一个值计算数字向量的累积总和并向后移动。cumsum()R 中的标准函数通常从第一个值开始并向前移动,就像简单的例子一样 -

cumsum(1:5)
## 1  3  6 10 15
Run Code Online (Sandbox Code Playgroud)

但我想要这样的结果 -

15, 14, 12, 9, 5
Run Code Online (Sandbox Code Playgroud)

是否有任何 R 函数可以直接计算?

小智 6

您正在寻找的解决方案是:

rev(cumsum(rev(x)))
Run Code Online (Sandbox Code Playgroud)


tmf*_*mnk 5

你可以做:

Reduce(sum, 1:5, right = TRUE, accumulate = TRUE)

[1] 15 14 12  9  5
Run Code Online (Sandbox Code Playgroud)