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

R语言lmer模型系数输出缺失首列 如何转换为tibble保留所有列

问题原因

输出缺失第一列(效应名称列)是因为原代码最后一步调用了pull(x),该操作会提取tidy结果中的单列数值,直接丢弃效应名称和其余列信息,最终列表仅保留数值向量,因此看不到第一列内容。

修复方案

直接去掉最后多余的map+pull步骤即可,你可以选择两种常用写法实现输出为tibble格式,完整保留所有列信息:

写法1:直接转换系数矩阵

models_list_1 <- dataset_long %>%
  group_by(FEATURE) %>%
  do(
    fit = lmerTest::lmer(
      RESPONSE ~ TREATMENT * SESSION +
        (1 | SUBJECT),
      data = .
    )
  ) %>%
  pull(fit) %>%
  lapply(
    function(x)
      summary(x) %>%
      coefficients() %>%
      as.data.frame() %>%
      # 将行名(效应名称)转为第一列
      tibble::rownames_to_column("effect_name") %>%
      tibble::as_tibble()
  )

写法2:使用broom::tidy直接输出标准格式

models_list_1 <- dataset_long %>%
  group_by(FEATURE) %>%
  do(
    fit = lmerTest::lmer(
      RESPONSE ~ TREATMENT * SESSION +
        (1 | SUBJECT),
      data = .
    )
  ) %>%
  pull(fit) %>%
  purrr::map(broom::tidy, effects = "fixed")

修改后models_list_1的每个元素都是包含6列的tibble,第一列为效应名称,后续依次为估计值、标准误、自由度、t值、p值,和预期结构完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:54:08