这是this的后续问题(参见数据和以前的命令)。
从mods
中的模型列表开始,我现在能够找到AIC最少的模型(对应最佳模型):
mods <- lapply(methods, function(m)
update(amod.null, correlation = getFunction(m)(1, form = ~ x + y), method="ML"))
names(mods) <- methods
list.AIC <- lapply(mods, function(x) AIC(x))
best.mod <- names(which.min(list.AIC))
现在,我需要对模型进行一些测试,例如Tukey之间的日期。语法非常简单,例如amod.null
library(multcomp)
res <- glht(amod.null, mcp(Date = "Tukey"))
棘手的部分是,我怎么能告诉glht
使用放入best.mod
的模型(注意:这一切都发生在循环中)。我试过了
res <- glht(paste("mods$", as.factor(best.mod),sep = "") , mcp(Date = "Tukey"))
但无济于事,因为glht需要在第一个参数中找到一个模型对象。
/编辑: 可能有用:
names(mods)
[1] "corExp" "corGaus" "corLin" "corRatio" "corSpher"
答案 0 :(得分:1)
由于模型存储在列表mods
中,您可以使用which.min(list.AIC)
索引访问“最佳模型”:
list.AIC <- sapply(mods, AIC)
best.mod <- mods[which.min(list.AIC)]
best.mod[[1]]