【发布时间】:2019-05-06 09:31:28
【问题描述】:
我正在尝试获取具有不同变量的数据框,并为这些变量的每个组合运行一个线性模型。
一个简单的例子是:
names <- c("Var1", "Var2", "Var3")
vars <- ggm::powerset(names, sort = T, nonempty = T)
powerset 函数为我提供了 3 个变量的所有组合——一个包含 7 个元素的列表,每个元素都是字符类型。 (我尝试运行的实际代码有 16 个变量,这就是我不想手动编写每个模型的原因)。
我现在想做的是在每个变量组合中运行模型。目前,我已经编写了以下代码(它不起作用,但可能是一个好的开始):
i <- 1
for (dep_var in vars){
assign(paste0("modelo", i), lm(lapply(paste("Y", dep_var, sep = "~"), formula),
data = data))
i <- i+1
}
最终,我想创建不同的模型,并从样本 AIC 和 BIC 以及样本 MAE 和 RMSE 的组合中选择最佳模型。
非常感谢!任何帮助表示赞赏!
【问题讨论】:
-
你试过
MuMIn(多模型推理)包吗?它有一个dredge函数... -
参见
?step和help("stepAIC", "MASS")以及跳跃包。请注意,计算所有 substs 是不利的,您可能希望查看 glmnet 以了解选择变量的不同方法。
标签: r linear-regression data-modeling