为什么 VarCorr 不显示 lmerModLmerTest 或 glmerMod 对象的方差?



我试图从一组图片中提取模型摘要的这一部分。我想要方差和标准差

Random effects:
Groups Name        Variance Std.Dev.
herd   (Intercept) 0.4123   0.6421  
Number of obs: 56, groups:  herd, 15

我试着遵循这个答案从lme4 mer模型对象中提取随机效应方差

但是我似乎不能得到方差,只有标准差。我想也许这是因为我使用glmer而不是lmer,但我似乎得到了相同的结果。

gm1 <- lmer( size ~ period + (1 | herd), data = cbpp)
summary(gm1)
Random effects:
Groups   Name        Variance Std.Dev.
herd     (Intercept) 44.40    6.664   
Residual             14.51    3.810   
Number of obs: 56, groups:  herd, 15

> VarCorr(gm1, comp="Variance")
Groups   Name        Std.Dev.
herd     (Intercept) 6.6636  
Residual             3.8096  
> VarCorr(gm1, comp="Std.Dev.")
Groups   Name        Std.Dev.
herd     (Intercept) 6.6636  
Residual             3.8096  
> VarCorr(gm1, comp=c("Variance","Std.Dev."))
Groups   Name        Std.Dev.
herd     (Intercept) 6.6636  
Residual             3.8096  


gm2 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd),
data = cbpp, family = binomial)
summary(gm2)
Random effects:
Groups Name        Variance Std.Dev.
herd   (Intercept) 0.4123   0.6421  
Number of obs: 56, groups:  herd, 15

> VarCorr(gm2, comp="Variance")
Groups Name        Std.Dev.
herd   (Intercept) 0.64207 
> VarCorr(gm2, comp="Std.Dev.")
Groups Name        Std.Dev.
herd   (Intercept) 0.64207 
> VarCorr(gm2, comp=c("Variance","Std.Dev."))
Groups Name        Std.Dev.
herd   (Intercept) 0.64207 

你知道这是怎么回事吗?

compprint()方法的参数,而不是VarCorr方法的参数。

print(VarCorr(gm1), comp=c("Variance", "Std.Dev."))
Groups   Name        Variance Std.Dev.
herd     (Intercept) 44.404   6.6636  
Residual             14.513   3.8096

您可能也会对

感兴趣
as.data.frame(VarCorr(gm1))[,c("vcov", "sdcor")]
vcov    sdcor
1 44.40371 6.663611
2 14.51309 3.809605

最新更新