我有一个时间序列和相同的滞后版本。但是当我将它们并排绘制时,它们看起来完全相同。滞后在哪里?
set.seed(1)
x = rnorm(100)
y = lag(x, 10)
df = data.frame(x, y)
plot (ts(df)) # they look exactly the same, no time shift
在控制台上打印两个系列也会确认此行为。我知道R内部只是保持滞后的偏移量。但是我想要在情节中出现。他们应该转移。
答案 0 :(得分:0)
首先将x
变为ts
对象:
> foo <- ts(x[1:24],frequency=12)
> foo
Jan Feb Mar Apr May Jun
1 -0.62645381 0.18364332 -0.83562861 1.59528080 0.32950777 -0.82046838
2 -0.62124058 -2.21469989 1.12493092 -0.04493361 -0.01619026 0.94383621
Jul Aug Sep Oct Nov Dec
1 0.48742905 0.73832471 0.57578135 -0.30538839 1.51178117 0.38984324
2 0.82122120 0.59390132 0.91897737 0.78213630 0.07456498 -1.98935170
> lag(foo,12)
Jan Feb Mar Apr May Jun
0 -0.62645381 0.18364332 -0.83562861 1.59528080 0.32950777 -0.82046838
1 -0.62124058 -2.21469989 1.12493092 -0.04493361 -0.01619026 0.94383621
Jul Aug Sep Oct Nov Dec
0 0.48742905 0.73832471 0.57578135 -0.30538839 1.51178117 0.38984324
1 0.82122120 0.59390132 0.91897737 0.78213630 0.07456498 -1.98935170
您看到lag(foo,12)
已转移了12个月。我们的情节是:
> par(mfrow=c(2,1))
> plot(foo)
> plot(lag(foo,12))
foo
及其滞后系列看起来仍然相同 - 但您现在看到水平轴已经移动了1,这是滞后(与frequency
相同)。