这篇文章有点回答我的问题:每个独立变量的线性回归循环分别针对依赖
但是,我也在尝试为回归添加滚动期。
例子:
data <-data.frame("col1"=runif(10,2,10),"col2"=runif(10,1,10),"col3"=runif(10,1,10),"col4"=runif(10,1,10))
sapply(data, function(x) rollapply(data,30, coef(lm(data$col1~x,data=data))))
编辑:为了更深入地了解我所追求的,我应该注意,在使用 Sapply 方法之前(在阅读了一些首选矢量化解决方案的 SO 帖子之后),我一直在尝试循环遍历我想要的列用作自变量。
betadf <- data.frame()
for (i in colnames(data2[,3:ncol(data2)])){
formula <- formula(paste("variablename ~",i,sep=""))
data3 <- na.omit(merge(data2[,'variablename'],data2[,i]))
model <- na.omit(rollapply(data3,rollperiod,
function(z) coef(lm(formula,data=as.data.frame(z))),
by.column = FALSE, align = "right"))
colnames(model) <- c("intercept",i)
betadf <- cbind(betadf,model[,i])
}