使用模型平均和使用R中的MuMln进行预测时出错

时间:2016-07-21 13:39:09

标签: r predict

我正在使用R中的MuMln包来获得平均模型(http://www.inside-r.org/packages/cran/MuMIn/docs/model.avg),并从中进行预测。该软件包还包括一个predict函数,专门用于model.avghttp://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返回的对象。我错过了什么吗?

1 个答案:

答案 0 :(得分:3)

直接从"averaging"对象创建"model.selection"对象时,它不包含predict工作所需的组件模型。您可以使用适合模型的model.avg(..., fit = TRUE)

为避免模型两次拟合,您可以先创建所有模型的列表 lapply(dredge(..., evaluate = FALSE), eval)之后 在其上使用model.avg(..., subset = ...)