我正在使用 glm 函数,它接受一个名为 family 的参数,如下所示:
glm(..., family = gaussian("identity"))
我想为 family 创建一系列可能的选项并循环播放它们。我最初的想法是使用 quote ,就像这样:
fam.array <- c( quote(gaussian("identity")), quote(gaussian("inverse"),
quote(gaussian("log")))
for(i in 1:3) glm(..., family = fam.array[i])
当我检查 fam.array [1] 时,我会按预期获得高斯(&#34;身份&#34;)。然而, glm 并不喜欢这个表达。有什么正确的方法可以解决这个问题?
答案 0 :(得分:1)
改为创建一个列表:
fam.list <- list(gaussian("identity"), gaussian("inverse"), gaussian("log"))
或
fam.list <- lapply(c("identity", "inverse", "log"), gaussian)
然后:
lapply(fam.list, glm, formula = demand ~ Time, data = BOD)