【发布时间】:2020-05-12 07:12:48
【问题描述】:
非常感谢任何帮助,在此先感谢。
我使用 MuMIn 包中的 model.avg() 函数对三个 GLMM 模型进行了平均。我现在想从这个平均模型中进行预测。但是,当我调用predict() 时,R 似乎认为我想要predict.merMod() 并因此引发警告消息,因为我要求提供predict.merMod() 未提供的标准错误。相反,我想调用predict.averaging(),这是对averaging 类模型的适当调用,将为模型预测提供标准误差。如果我试图通过指定MuMIn::predict() 或MuMIn::predict.averaging() 来强制R 使用predict.averaging(),我会收到一条错误消息,指出该函数不是从MuMIn 导出的。
任何帮助解决这个问题将不胜感激?我想从averaging 类的平均模型中进行预测,并希望获得估计值和标准误差。
下面的可重现示例。
# Load packages
> library(MuMIn); library(lme4)
# Create test data set
> test <- rbind(mtcars, mtcars)
> test <- rbind(mtcars, test)
# Create test models
> t1 <- glmer(am ~ hp + (1 | carb), data = test, family = binomial)
> t2 <- glmer(am ~ hp + vs + (1 | carb), data = test, family = binomial)
# Create model list and average models
> list <- list(t1, t2)
> p1 <- model.avg(list)
# Create new data set for predictions
> nd <- mtcars[1:2,]
> nd <- select(nd, hp, vs)
# Model predictions demonstrating errors and warnings
> predict(p1, backtransform = TRUE, newdata = nd, re.form = NA, se.fit = TRUE)
Mazda RX4 Mazda RX4 Wag
0.8938837 0.8938837
Warning messages:
1: In predict.merMod(object = new("glmerMod", resp = new("glmResp", :
unused arguments ignored
2: In predict.merMod(object = new("glmerMod", resp = new("glmResp", :
unused arguments ignored
> MuMIn::predict(p1, backtransform = TRUE, newdata = nd, re.form = NA, se.fit = TRUE)
Error: 'predict' is not an exported object from 'namespace:MuMIn'
> predict.averaging(p1, backtransform = TRUE, newdata = nd, re.form = NA, se.fit = TRUE)
Error in predict.averaging(p1, backtransform = TRUE, newdata = nd, re.form = NA, :
could not find function "predict.averaging"
> MuMIn::predict.averaging(p1, backtransform = TRUE, newdata = nd, re.form = NA, se.fit = TRUE)
Error: 'predict.averaging' is not an exported object from 'namespace:MuMIn'
> MuMIn:::predict.averaging(p1, backtransform = TRUE, newdata = nd, re.form = NA, se.fit = TRUE)
Mazda RX4 Mazda RX4 Wag
0.8938837 0.8938837
Warning messages:
1: In predict.merMod(object = new("glmerMod", resp = new("glmResp", :
unused arguments ignored
2: In predict.merMod(object = new("glmerMod", resp = new("glmResp", :
unused arguments ignored
【问题讨论】:
-
试试
MuMIn:::predict.averaging() -
感谢您的快速回复。我收到相同的错误消息:
In predict.merMod(object = new("glmerMod", resp = new("glmResp", :unused arguments ignored -
这看起来像上面的警告,而不是错误。无论如何,我们需要您提供注释的、最小的、独立的、可重现的代码,请考虑:stackoverflow.com/questions/5963269/…
-
再次感谢。我现在已经编辑以包含一个可重现的示例。
-
干得好!但是,似乎根本没有计算标准错误的选项,请参阅下面的答案。