You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取经dplyr::group_by分组的lmer模型结果信息?

提取分组拟合的lmer模型信息

你用dplyr::group_by()结合do()按性别拟合lmer模型后,ort_test$model是列表列,每个元素对应一个完整的lmer模型对象,控制台显示的<lmrMdLmT>只是模型对象的类标识,实际包含所有模型信息。以下是几种提取和查看模型信息的方法:

1. 提取单个模型并查看细节

直接通过列表索引提取指定性别的模型,再用lme4自带函数查看结果:

# 提取男性组的模型
male_model <- ort_test$model[[1]]
# 查看模型完整摘要(包含固定效应、随机效应、拟合统计量等)
summary(male_model)
# 提取固定效应系数
fixef(male_model)
# 提取随机效应(每个Subject的截距)
ranef(male_model)
# 查看模型拟合的方差组分
VarCorr(male_model)

2. 批量处理所有模型(生成结构化结果)

借助purrr和broom.mixed包,可以批量将所有模型的结果整理成数据框,方便后续分析:

library(broom.mixed)
library(purrr)

# 为每个模型添加摘要、固定效应、随机效应的结构化结果
ort_test <- ort_test %>%
  mutate(
    # 模型完整摘要列表
    model_summary = map(model, summary),
    # 固定效应整理为数据框
    fixed_effects = map(model, tidy, effects = "fixed"),
    # 随机效应整理为数据框
    random_effects = map(model, tidy, effects = "ran_vals")
  )

# 查看所有组的固定效应(展开为数据框)
ort_test %>% select(Sex, fixed_effects) %>% unnest(fixed_effects)

3. 直接在分组数据框中展开模型信息

如果想在tibble中直接展开模型结果,可使用tidyr::unnest():

library(tidyr)

# 展开固定效应到数据框
ort_test %>%
  mutate(fixed_effects = map(model, tidy, effects = "fixed")) %>%
  unnest(fixed_effects)

内容的提问来源于stack exchange,提问作者Erik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 11:25:34