用于计算 'cumulative difference' 的 R 函数

标签 r difference cumsum

我有一个像这样的向量

v <- c(76, 31, 33, 7)

并且需要计算其导致的“累积差”

cumdiff <- c(45, 12, 5)

这是 76 - 31 = 45 和 45 - 33 = 12 和 12 - 7 = 5。

是否有像 cumsum 这样的 R 函数,或者我是否需要使用循环?

非常感谢您对此的帮助。

最佳答案

使用 Reduce 的选项:

Reduce(`-`, v, accumulate=TRUE)[-1L]
#[1] 45 12  5

或者使用 cumsum 的负数

v[1L] - cumsum(v[-1L])

关于用于计算 'cumulative difference' 的 R 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62127997/

相关文章:

r - 在 R 中使用协方差矩阵进行投资组合优化

mysql - 使用 mySQL 查找列中的运行差异

r - 如何使用 ggplot2 删除特定值处的网格线?

R: ifelse 把 numeric(0) 变成 NA

Java 8 : Difference between two LocalDateTime in multiple units

matrix - 混淆矩阵和列联表之间有什么区别?

时间间隔不均的组的滚动总和

python - Pandas 中的累积总和从零开始,以除最后一个条目以外的所有组的总和结束

python - 两个值匹配 pandas 时的累积计数

python - pairplot() 中的相关值