我想使用 lm 对单个动物园对象内的多对数据系列执行滚动回归。
虽然我可以通过以下代码对动物园对象中的一对数据系列执行滚动回归:
FunLm <- function(x,Param,Days) coef(lm(AAA ~ Z, data = as.data.frame(x), weights=Param*(seq(Days,1,by=-1))))
DataLmCoef <- rollapplyr(Data, Days, FunLm, Param, Days, by.column = FALSE)
使用这种结构的动物园:
Z AAA
2012-07-01 1 853
2012-07-04 2 864
2012-07-05 3 865
2012-07-06 4 873
2012-07-07 5 870
2012-07-08 6 874
我的问题是,如果我有以下动物园对象:
Z AAA BBB CCC
2012-07-01 1 853 123 65
2012-07-04 2 864 124 62
2012-07-05 3 865 126 63
2012-07-06 4 873 120 66
2012-07-07 5 870 121 68
2012-07-08 6 874 123 69
在不使用循环的情况下,如何在 Z~AAA、Z~BBB、Z~CCC、Z~DDD、...上进行类似的滚动回归,并获得两个动物园矩阵对象,一个存储截距,另一个存储斜率?