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

如何对R中lmer()/lm()输出的Estimate值取对数并生成同格式表格?

获取lmer模型Est值对数转换后的标准化表格

以下是两种实用的操作方法,适配summ()(来自jtools包)的输出结果:

方法1:手动提取并处理后生成表格

  1. 先拟合模型并保存summ()的输出结果:
    # 加载所需包
    library(lme4)
    library(jtools)
    
    # 拟合混合效应模型(示例)
    fit <- lmer(Response ~ Feature1 + Feature2 + (1|Group), data = your_data)
    # 保存summ的结果
    fit_summ <- summ(fit)
    
  2. 提取系数表并对Est列做对数转换:
    # 提取summ结果中的系数表(默认存储在$coef)
    coef_table <- fit_summ$coef
    # 对Est列取自然对数,如需常用对数替换为log10()
    coef_table$log_Est <- log(coef_table$Est)
    
  3. 输出格式统一的表格:
    使用knitr包生成标准化的可导出表格:
    library(knitr)
    kable(coef_table[, c("Est", "log_Est", "SE", "t", "p")],
          caption = "原始Est值与对数转换结果",
          digits = 3)
    

方法2:借助sjPlot快速生成美观表格

如果需要更易读的可视化表格,sjPlot可以直接处理转换后的数据:

library(sjPlot)
# 提取系数并添加对数转换列
coef_data <- as.data.frame(fit_summ$coef)
coef_data$log_Est <- log(coef_data$Est)
# 生成格式化表格
tab_df(coef_data[, c("Est", "log_Est", "SE", "p")],
       title = "特征Est值及其对数转换结果",
       col.header = c("原始Est", "对数Est", "标准误", "P值"))

关键注意点

  • 若Est值存在0或负数,直接取对数会报错,可根据需求做偏移处理(如log(Est + 1)),或检查模型系数的合理性
  • 对数转换的底数可按需切换:自然对数用log(),常用对数用log10(),以2为底用log2()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 15:35:35