5

我正在尝试在lmer模型上运行诊断图,但一直碰壁。我不确定我需要在这里提供多少信息,但这里有:

模型很简单:

best <- lmer(MSV_mm ~ Size_treat + (1|Rep) + (1|Patch) + (1|Trap), data= early_nopine). 

MSV_mm是数字(鼻孔长度),Size_treat是一个具有 4 个级别的因子:连续、大、中和小。RepPatch并且Trap是随机效应。

当我运行时plot(best),我收到以下错误消息:

"Error in as.double(y) : 
  cannot coerce type 'S4' to vector of type 'double'"

我认为这与lmer功能有关。我已经在网络上进行了巨魔,但尚未找到此问题的答案。这是一lmer件事吗?

4

1 回答 1

8

我可以用 重现此错误lme4.0,这相当于lme4CRAN 的早期(1.0.0 之前)版本。如果您使用 CRAN 的最新lme4版本(截至 2013 年 10 月的 1.0-4 版),应该会发生以下情况:

library(lme4)
fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
plot(fm1)

在此处输入图像描述

虽然plot.merMod没有导出,但它已记录在案 ( ?plot.merMod),您可以通过lme4:::plot.merMod(或getAnywhere("plot.merMod")) 看到它。

如果你想用早期版本重现这个情节lme4,你可以这样做:

augData <- data.frame(sleepstudy,fitted=fitted(fm1),resid=residuals(fm1))
library(lattice)
xyplot(fitted~resid,data=augData)

您应该考虑是否需要偏差残差(默认来自residuals())或 Pearson 残差(默认来自plot.merMod)。

于 2013-10-09T00:54:14.490 回答