首页 > 解决方案 > 是否有更短的方法在 R 的回归中使用滞后运算符

问题描述

我正在尝试复制我在一篇文章中看到的回归:

Y_t=a(L) Y_(t-1)

滞后算子中的多项式在哪里L,它说

“滞后因变量 [滞后:1-24] 分别作为滞后 1、5、9、13、17 和 21 的四分之四移动平均值输入”。

我看到我可以做这样的事情:

lm(Y ~ I(lag(Y)) + I(lag(Y, 5)) + I(lag(Y, 9)) + I(lag(Y, 13)) + I(lag(Y, 17)) + I(lag(Y, 21)) + I(lag(Y, 24))

有没有更短的方法?

提前致谢。

标签: rregression

解决方案


像这样的东西,也许?

lags <- c(1, 5, 9, 13, 17, 21)
xnam <- paste0("I(lag(Y, ", lags, "))")
(fmla <- as.formula(paste("y ~ ", paste(xnam, collapse= "+"))))

推荐阅读