我使用R中的MuMln包得到一个平均模型(http://www.inside-r.org/packages/cran/MuMIn/docs/model.avg),并据此进行预测。该包还包括一个predict函数,专门用于model.avg (http://www.inside-r.org/node/123636)返回的对象。我尝试使用所列的示例,代码如下:
# Example from Burnham and Anderson (2002), page 100:
fm1 <- lm(y ~ X1 + X2 + X3 + X4, data = Cement)
ms1 <- dredge(fm1)
# obtain model average for AIC delta <2
avgm <- model.avg(ms1, subset=delta<2)
# predict from the averaged model
averaged.full <- predict(avgm, full = TRUE)但我一直
Predict.averaging中的错误(avgm,full = TRUE):只能从包含模型列表的“平均”对象中预测
这一点我不明白,因为我确实遵循了这些示例,并使用了model.avg返回的对象。我是不是遗漏了什么?
发布于 2016-07-22 13:21:31
直接从"averaging"对象创建"model.selection"对象时,它不包含predict工作所需的组件模型。您可以使用model.avg(..., fit = TRUE),这将再次适合模型。
为了避免对模型进行两次拟合,您可以首先使用lapply(dredge(..., evaluate = FALSE), eval)创建所有模型的列表,然后在其上使用model.avg(..., subset = ...)。
https://stackoverflow.com/questions/38505890
复制相似问题