减去R中的移位向量

Noa*_*ins 8 r

说我在R中有一个向量:

x <- c(1,2,3)
Run Code Online (Sandbox Code Playgroud)

是否有一种简洁的方法来创建一个比x大小小的新向量y,其中:

y <- x[i+1] - x[i]
Run Code Online (Sandbox Code Playgroud)

不使用for循环?

Hen*_*nry 14

diff(x)是明显的答案.

更基本的替代方案是x[-1] - x[-length(x)],这可以很容易地适用于例如连续项的总和或产品


Gon*_*iao 5

您可以使用“ diff”来获取列表中两个连续元素之间的差异,

例如:

diff(x)
Run Code Online (Sandbox Code Playgroud)

可能会帮助您。