如何提取打印lmer模型summary中的指定方差表部分
实现方法
你用lme4包的lmer()拟合混合模型时,不需要打印完整summary,用下面几种方法就能单独提取你要的随机效应方差表:
- 方法1:直接用包内置专用函数提取(最简便)
VarCorr()是lme4专门用来提取方差分量的函数,输出内容和summary里的方差表完全一致,不会带出固定效应系数、拟合指标等冗余内容:
# 单独输出方差表 VarCorr(pupils_test_model)
- 方法2:输出规整数据框格式的方差表
如果需要把方差表整理成结构化表格方便后续复用、导出,可以给上面的结果套一层as.data.frame():
# 转成数据框格式存储 var_table <- as.data.frame(VarCorr(pupils_test_model)) # 打印查看 print(var_table)
返回的表格会明确标注每个方差项对应的分组、效应类型、方差值、标准差,可读性更强。
- 方法3:直接从summary对象中抽取对应模块
如果你已经生成了模型的summary对象,不需要重复计算,直接提取其中的方差表元素打印即可:
# 先生成模型summary对象 pupils_sum <- summary(pupils_test_model) # 仅打印方差表部分 print(pupils_sum$varcor)
注意:以上方法不需要加载额外第三方包,只要你正常加载了
lme4完成模型拟合就能直接用。
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

