我有一些不规则间隔的数据,比方说表A,频率是每2-5天。我有另一个数据集,表B,它包含每个工作日的条目。我想运行以下回归:
A_{t} = alpha + beta1 * B_{t-2个月}+错误
其中,当我落后于B时,如果没有恰好不是60天前的东西,例如,如果60天前是星期天,那么就选择下个星期一。我当然可以构造这个w/ a for循环,但是R方法是什么呢?目前,数据存储在MySQL表中,我正在使用RMySQL进行访问。
谢谢你的帮助。
发布于 2010-09-24 22:59:19
您需要zoo包及其文档-其中有许多关于如何聚合、对齐、转换……的示例。沿时间维度的数据。
这是一个很难的问题。你将不得不考虑如何做到这一点-但至少有适当和强大的工具存在。这里和R列表上也有大量的用法示例。
至少,您可以使用na.locf()将您的上一个不规则观察结果向前推进到下一个常规观察结果(在基于每日日期合并数据之后)。然后,您可以对常规数据使用lag()运算符。此外,dynlm和dyn包通过将lags等添加到公式接口,在zoo对象中的数据帮助上简化了lm()建模。
https://stackoverflow.com/questions/3788188
复制相似问题