我想以编程方式在 r 中构建 glms,类似于此处描述的内容(如何在 R 中构建和测试多个模型),除了测试预测变量的所有可能子集。
因此,对于这样的数据集,带有结果变量z
:
data <- data.frame("z" = rnorm(20, 15, 3),
"a" = rnorm(20, 20, 3),
"b" = rnorm(20, 25, 3),
"c" = rnorm(20, 5, 1))
有没有办法自动构建模型:
m1 <- glm(z ~ a, data = data)
m2 <- glm(z ~ b, data = data)
m3 <- glm(z ~ c, data = data)
m4 <- glm(z ~ a + b, data = data)
m5 <- glm(z ~ a + c, data = data)
m6 <- glm(z ~ b + c, data = data)
m7 <- glm(Z ~ a + b + c, data = data)
我知道包的dredge
功能MuMIn
可以做到这一点,但我得到一个错误,说我包含了太多变量,所以我正在寻找独立于dredge
. 我已经尝试过grid.expand()
and combn()
,map()
以及lapply()
我在 StackOverflow 上找到的各种答案,但似乎无法将其拼凑在一起。理想情况下,包括 BIC 在内的模型输出将存储在可排序的数据框中。
任何帮助将不胜感激!!