R:计算积分变化?

Sim*_*asy 2 statistics r

有没有人知道一个用一个清晰​​的例子计算 CUSUM 的包?我找到了绘制 CUSUM 的“qcc”。但是,我想要提交的数据范围而不是图形的 CUSUM 值。另一个新的好包“changepoint”,它正在计算关于不同分布的 CUSUM。我需要一个简单的包或函数,它根据 CUSUM 的基本定义计算 CUSUM- 没有任何参数:

As its name implies, CUSUM involves the calculation of a cumulative sum 
which is what makes it "sequential"). 
Samples from a process are assigned weights, 
and summed as follows:
For samples i = 0 ->infinity
   C0 = 0 :
   Ci+1 = max(0;Ci + Xi - mean(Xi) )
Run Code Online (Sandbox Code Playgroud)

维基中定义

任何计算基本 CUSUM 的包或函数?

Aru*_*run 5

为什么不简单for-loop?像这样,例如:

set.seed(20)
x <- rnorm(10, 1, 3)
mx <- mean(x)
CUMSUM <- function(x) {
    res <- numeric(length(x))
    for (i in seq_along(x) + 1) {
        res[i] <- max(0, res[i-1] + x[i-1] - mx)
    }
    res
}
CUMSUM(x)
Run Code Online (Sandbox Code Playgroud)