从累积序列中,如何获得原始序列?

时间:2019-06-27 06:44:24

标签: r cumsum

我的问题听起来很琐碎。但是我从累积序列中找不到如何在R中获得非累积原始序列。

在stackoverflow中搜索了相关的问题和解决方案,但是没有运气。

如果我有一个系列x <- c(10, 30, 60, 100);这是一个累积序列。我知道在R中,cumsum(c(10,20,30,40))将给我累积序列。但是从生成的累积序列中,我如何找回原始序列?

2 个答案:

答案 0 :(得分:1)

您可以使用diff,并保留第一个值,即可返回原始值,即

x <- c(10, 30, 60, 100)
diff(x)
#[1] 20 30 40
c(x[1], diff(x))
#[1] 10 20 30 40

答案 1 :(得分:0)

我们还可以从前面和后面删除元素以减去

c(x[1], x[-1] - x[-length(x)]) 
#[1] 10 20 30 40

数据

x <- c(10, 30, 60, 100)