标签: r
我有一些不规则间隔的数据,比如表A.频率是每2-5天。我有另一个数据集,表B,每个工作日都有条目。我想运行以下回归:
A_ {t} = alpha + beta1 * B_ {t-2个月} +错误
其中,当我滞后B时,如果不存在60天前的某些东西,例如如果60天前是星期天,那么就选择下周一。我当然可以构造这个w / a for循环,但是什么是R方式。目前,数据存储在MySQL表中,我使用RMySQL来访问。
感谢您的帮助。
答案 0 :(得分:3)
您需要zoo包及其文档---其中包含有关如何沿时间维度聚合,对齐,转换......数据的大量示例。
这是一个难题。你必须考虑如何做到这一点---但至少存在适当而强大的工具。这里和R列表中还有很多用法示例。
至少,您可以使用na.locf()将最后一次不规则观察转发到下一个常规观察(在根据每日日期合并数据之后)。然后,您可以在常规数据上使用lag()运算符。此外,软件包dynlm和dyn通过在公式界面中添加延迟等,可以在lm()对象中使用zoo进行建模。
na.locf()
lag()
lm()
zoo