从一个累积系列中,如何得到原始系列?

From a cumulative series, how to get the original series?

我的问题听起来可能微不足道。但我无法从累积系列中找到如何在 R 中获得非累积原始系列。

在 Whosebug 中搜索了相关问题和解决方案,但没有成功。

如果我有一个系列x <- c(10, 30, 60, 100);这是一个累积系列。我知道在 R 中,cumsum(c(10,20,30,40)) 会给我累积序列。但是从生成的累积系列中,我怎样才能恢复我原来的系列?

您可以使用diff,并保留第一个值,您将得到原始值,即

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

我们也可以从前面和后面去掉一个元素来减去

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

数据

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