我想自动运行许多回归模型并对其进行测试并将拟合和残差保存在原始文件中。
我的意思是我想在数据上测试所有可能的回归模型。
例如,X1=X2+X3...和 X2=X1+X3...和 X3=X1+X2...
然后添加每个模型的拟合值和残差值。
我有一个这样的文件。
test<-data.frame(X1=rnorm(50,mean=50,sd=10),
X2=rnorm(50,mean=5,sd=1.5),
X3=rnorm(50,mean=200,sd=25))
test$X1[10]<-5
test$X2[10]<-5
test$X3[10]<-530
我运行所有可能的回归模型。
varlist <- names(test)
models <- lapply(varlist, function(x) {
lm(substitute(i~., list(i = as.name(x))), data = data
})
我从每个回归模型中得到拟合和残差。
lapply(models,residuals)
lapply(models, fitted)
但是,我想将所有残差和拟合值保存在原始数据上。有可能做出这样的最终数据吗?
X1 X2 X3 Residual1 Residual2 Residual3 Fitted1 Fitted2 Fitted3
所以那residual1
是从model1
,residual2
是从model2
,等等。