为什么 VarCorr 不显示 lmerModLmerTest 或 glmerMod 对象的方差?
Why won't VarCorr display variance for lmerModLmerTest or glmerMod objects?
我正在尝试从一组 glmms 中提取模型摘要的这一部分。我想要方差和标准差。
Random effects:
Groups Name Variance Std.Dev.
herd (Intercept) 0.4123 0.6421
Number of obs: 56, groups: herd, 15
我试过按照这个答案Extract random effect variances from lme4 mer model object
但我似乎无法获得方差,只能获得标准差。我想这可能是因为我使用的是 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
知道这里会发生什么吗?
comp
是 print()
方法的参数,而不是 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
我正在尝试从一组 glmms 中提取模型摘要的这一部分。我想要方差和标准差。
Random effects:
Groups Name Variance Std.Dev.
herd (Intercept) 0.4123 0.6421
Number of obs: 56, groups: herd, 15
我试过按照这个答案Extract random effect variances from lme4 mer model object
但我似乎无法获得方差,只能获得标准差。我想这可能是因为我使用的是 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
知道这里会发生什么吗?
comp
是 print()
方法的参数,而不是 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