r - 是否有更短的方法在 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))
有没有更短的方法?
提前致谢。
解决方案
像这样的东西,也许?
lags <- c(1, 5, 9, 13, 17, 21)
xnam <- paste0("I(lag(Y, ", lags, "))")
(fmla <- as.formula(paste("y ~ ", paste(xnam, collapse= "+"))))
推荐阅读
- unity3d - Unity C#:从游戏对象(3D)到画布(屏幕空间 - 相机)的线渲染器
- sql - 如何在 Oracle 中分隔连接的字符串?
- f# - 面向铁路的编程和部分应用
- python - cronicle的插件有哪些参数以及如何添加?
- python - 列表中的 Python 用户输入
- java - 如何在java android中操作数组值
- r - 在 gtable 图中强制等边距
- mysql - 与直接选择相比,查询返回的条件之间没有日期的行更少
- ios - UISwitch 崩溃时的 iOS 触觉反馈
- spring-boot - 从这样的主题获取消息,但只想要短信而不是所有信息,我使用了 jms 监听器和 spring boot