如何循环使用glm模型进行模型选择(model.sel)

时间:2019-02-05 20:12:01

标签: r loops glm

我正在尝试通过AIC选择最佳模型。有人告诉我这是自动生成glm模型组合的代码,但我真的不明白它是如何工作的。

任何人都可以用简单的文字向我解释它的工作原理以及如何使其运行,因为我做不到。

library(MuMIn)

as.list(rep(NA, 44)) ->models

for (i in 1:44) {
  glm(log(Tbra+1)~bats[,i],data=bats)-> models[[i]]
}

names(models)<-names(bats)[7:50]

model.sel(models)

编辑1

我对此代码还有其他疑问。

  1. as.list(rep(NA, 44)) ->models

什么意思(NA,44)?清单是如何制成的?我想知道该列表必须从数据库中完成,但是此代码创建了一个空列表,我不明白为什么。

2。

for (i in 1:44) {
  glm(log(Tbra+1)~bats[,i],data=bats)-> models[[i]]
}

我知道glm是由“蝙蝠”数据产生的,但是它要求蝙蝠是列表,对吗?如此制作。起初,我认为它可能是指由as.list制成的列表,例如:

as.list(rep(NA, 44)) ->bats

  for (i in 1:44) {
      glm(log(Tbra+1)~bats[,i],data=bats)-> models[[i]]
    }

但这没什么用。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

该循环列出了模型列表。每个模型都尝试使用来自数据的单个变量来预测响应log(Tbra + 1)。然后函数model.sel()进入列表,评估每个人的AIC,然后将它们与每个变量的系数,对数似然性等一起显示在表格上。