我正在尝试从变量组合列表创建多个线性回归模型(如果更有用的话,我也将它们单独作为数据框!)
变量列表如下所示:
Vars
x1+x2+x3
x1+x2+x4
x1+x2+x5
x1+x2+x6
x1+x2+x7
我正在使用的循环如下所示:
for (i in 1:length(var_list)){
lm(independent_variable ~ var_list[i],data = training_data)
i+1
}
但是它无法识别字符串var_list[i]
这使x1+x2+x3
等作为模型输入。
有谁知道如何修理它?
感谢您的帮助。
您甚至不必使用循环。应用应该效果很好。
training_data <- as.data.frame(matrix(sample(1:64), nrow = 8))
colnames(training_data) <- c("independent_variable", paste0("x", 1:7))
Vars <- as.list(c("x1+x2+x3",
"x1+x2+x4",
"x1+x2+x5",
"x1+x2+x6",
"x1+x2+x7"))
allModelsList <- lapply(paste("independent_variable ~", Vars), as.formula)
allModelsResults <- lapply(allModelsList, function(x) lm(x, data = training_data))
如果您需要模型摘要,您可以添加:
allModelsSummaries = lapply(allModelsResults, summary)
例如,您可以访问模型的系数 R²lm(independent_variable ~ x1+x2+x3)
通过做这个:
allModelsSummaries[[1]]$r.squared
我希望它有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)