Похоже, что dynlm плохо работает с объектами 'xts'.
Одно решение, данное Гротендиком, предлагает использовать другой пакет (который работает).
Другое решение состоит в изменении объект в зоопарк.
Тем не менее, это сбивало с толку, поскольку объект, с которым я работал, изначально был классом: "xts" "zoo"; и dynlm не распознал часть «zoo».
После изменения на «zoo» все работает, если кто-то хочет остаться с этим пакетом.
#Libraries
library(xts)
library(dynlm)
#Data
index <- seq.Date(from = Sys.Date() - 999, to = Sys.Date(), by = "days")
x <- xts(1:1000, order.by = index)
y <- xts(2001:3000, order.by = index)
z <- xts(3001:4000, order.by = index)
data <- merge(x,y,z)
data.zoo <- zoo(data, order.by = index(data))
dynlm(x ~ L(y) + L(z,4), data = data.zoo)
Предоставление
Time series regression with "zoo" data:
Start = 2017-05-23, End = 2020-02-12
Call:
dynlm(formula = x ~ L(y) + L(z, 4), data = data.zoo)
Coefficients:
(Intercept) L(y) L(z, 4)
-1999 1 NA
Любопытно, что полученный перехват отличается.