gpt4 book ai didi

r - 通过变量列表为 R 中的 LM 模型创建循环

转载 作者:行者123 更新时间:2023-12-04 00:59:57 26 4
gpt4 key购买 nike

我正在尝试从变量组合列表创建多个线性回归模型(如果这更有用,我还将它们单独作为数据框!)

变量列表如下所示:

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) 

例如,您可以通过以下方式访问模型 lm(independent_variable ~ x1+x2+x3) 的系数 R²:

allModelsSummaries[[1]]$r.squared

希望对你有帮助。

关于r - 通过变量列表为 R 中的 LM 模型创建循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59161144/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com