我试图在我的时间序列工作中尽可能多地使用 xts,因为它似乎是建议的做事方式。但是,我遇到了一个奇怪的错误。
CPI.NSA 和 INT 是 xts 对象。
library(dynlm)
CPI.NSA.x <- CPI.NSA[dr1]
INT.x <- INT[dr1]
CPI.NSA.z <- as.zoo(CPI.NSA.x)
INT.z <- as.zoo(INT.x)
> dynlm(CPI.NSA.z ~ INT.z + L(CPI.NSA.z, 1))
Time series regression with "zoo" data:
Start = 1953-02-01, End = 1971-06-01
Call:
dynlm(formula = CPI.NSA.z ~ INT.z + L(CPI.NSA.z, 1))
Coefficients:
(Intercept) INT.z L(CPI.NSA.z, 1)
-0.0006795 1.0440174 -0.0869050
> dynlm(CPI.NSA.x ~ INT.x + L(CPI.NSA.x, 1))
Error in `[.xts`(a, match0(indexes, attr(a, "index")), , drop = FALSE) :
i is out of range
我的理解是,每当我有一个需要 zoo 的函数时,我都可以将它传递给 xts,它应该可以正常工作,但显然这里不是这种情况。
这是怎么回事?
谢谢您的帮助。