R 中一阶差分记录序列的离散积分

Discrete Integration of a 1st Differenced Logged Series in R

我有一个一阶差分记录系列,我需要将其转换回原始水平单位。我如何在 R 中执行此操作?

以下是我的数据系列、它们各自的转换和尝试的代码:

原始系列:

 o <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

记录系列:

l <- c(0.693, 1.099, 1.386, 1.609, 1.792, 1.946, 2.079, 2.197, 2.303)

第一个差分,记录系列:

dl <- c(-0.693, -1.792, -2.485, -2.996, -3.401, -3.738, -4.025, -4.277, -4.500)
diffinv(dl, differences = 1)

期望的输出:

 [1]  1 2 3 4 5 6 7 8 9 10

尝试的代码:

x <- c(1:10)
lx <- log(x)
dlx <-diff(lx)


diffinv(dlx, differences = 1)

当前输出:

[1] 0.0000000 0.6931472 1.0986123 1.3862944 1.6094379 1.7917595 1.9459101 [8] 2.0794415 2.1972246 2.3025851

只需要记住你的定义。 e ^ (ln (x)) = x ,因此

exp(diffinv(dlx, differences = 1))
[1]  1  2  3  4  5  6  7  8  9 10