如何对引用i + 1或i-1索引的数组元素执行数学运算?

Mat*_*ski 1 r dplyr

我几乎可以用任何语言编写以下代码.subtractPrevious获取一个数组并i+1从ith值中减去st 值.如何使用R进行此类计算?这似乎是一项工作lapply或可能是一项dplyr功能.

x <- c(1,2,3,4,5,6,7,8,9,10)
subtractPrevious <- function(x){
    for (i in 1:length(x)){
       if (i == 1) {
           y[1] <- NA
       } else {
           y[i] <- x[i] - x[i-1]
       }
    }
    return(y)
}

y <- subtractPrevious(x)
Run Code Online (Sandbox Code Playgroud)

Ben*_*ker 5

这有一个内置函数diff:

c(NA,diff(x))
Run Code Online (Sandbox Code Playgroud)