扭转累积和的功能方法?

Ria*_*aan 18 r

如果我有一个累积和的向量,例如

> vec <- cumsum(1:10)
[1]  1  3  6 10 15 21 28 36 45 55
Run Code Online (Sandbox Code Playgroud)

有没有一种功能性的方式来翻译vec成它的原始载体c(1:10)

现在,我正在使用for循环:

> result <- vec[1]
> for (i in 2:length(vec)) result <- append(result, vec[i]-vec[i-1])
> result
[1]  1  2  3  4  5  6  7  8  9 10
Run Code Online (Sandbox Code Playgroud)

但这对我来说似乎不太喜欢......有什么想法吗?

jor*_*ran 32

只是diff用来获得连续的差异:

> c(vec[1],diff(vec))
 [1]  1  2  3  4  5  6  7  8  9 10
Run Code Online (Sandbox Code Playgroud)