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

How loop glm models for model selection (model.sel)

我正在尝试通过它的 AIC select 最好的模型。我得到了这段代码,我被告知它会自动生成 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 是由 "bats" 数据制作的,但是它要求 Bats 是列表,对吗?那么它是如何制作的。起初我以为它可能指的是 as.list 制作的列表,例如:

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

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

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

循环生成模型列表。每个模型都尝试使用数据中的单个变量来预测响应 log(Tbra + 1)。然后函数 model.sel() 获取列表,评估每个人的 AIC,然后将它们与每个变量的系数、对数似然等一起显示在 table 上