使用 lme/lmer 函数时,我无法让 R 以 par(mfrow=c(2,2)) 和 plot( )。
我只得到 res vs fit 情节,没有别的。
我在使用 lm 函数时没有问题。
有人知道怎么做这个吗?
library(lme4)
m0<-lmer(hematology~Treatment*day+Gender+(1|ID),data=long,na.action=na.omit,REML=FALSE)
par(mfrow=c(2,2))
plot(m0)
最佳答案
tl; 博士 ?plot.merMod
相当详细地解释了绘图方法如何适用于 [g]lmer
生成的拟合...
你至少可以很容易地得到对应于 plot.lm
的前三个图:
添加平滑线的拟合 vs 残差
plot(lmer_model, type=c("p","smooth"), col.line=1)
(更难获得平滑和不同颜色绘制的零线)比例位置图
plot(lmer_model,
sqrt(abs(resid(.)))~fitted(.),
type=c("p","smooth"), col.line=1)
QQ图lattice::qqmath(lmer_model)
残差与杠杆plot(fm1, rstudent(.) ~ hatvalues(.))
(库克的距离可以通过 cooks.distance()
计算,但叠加 CD={0.5,1} 的轮廓并不那么容易......)历史笔记
lme4
诊断绘图方法的设计和实现与 plot.lm
不同,后者是 base R 中的规范示例。为什么?我不确定,但这种方法源自 nlme
包,它早于 R;我能找到的最早版本是 this page from the Wayback Machine (1998),它链接到 1995 年 2 月的 1.2 版 copy of the user's guide;那是在 June 1995 中 R(通过 ftp)的第一个源代码发布前三个月。lattice
(源自 Trellis™ 图形)而不是 base-R 图形 plot(fm1,residuals(.)~Days|Subject)
plot
)和 Q-Q 图(qqnorm
中的 nlme
,qqmath
中的 lme4
) 关于r - plot() 不显示 lme/lmer 的所有诊断图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63751541/