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

gtsummary合并mfx边际效应表的变量标签及表格格式调整问题

解决方案

带自定义标签的表合并

logitmfx()返回的模型对象会剥离原始数据的变量标签,导致两张结果表的变量标识不匹配,触发tbl_merge()报错。手动为边际效应表指定和原回归表一致的变量标签即可解决。

删除置信区间与p值转星号

使用gtsummary自带函数即可实现需求:

  • hide_columns() 可直接隐藏置信区间列
  • add_significance_stars() 可将p值转换为星号标注,支持自定义星号阈值和显示格式

完整可运行代码

library(gtsummary)
library(mfx)
library(labelled)
data(sleep)

# 设置变量标签
var_label(sleep$extra) <- "Hrs of sleep"

# 生成原回归结果表
m1 <- glm(data = sleep, group ~ extra, family = "binomial") |> 
  tbl_regression() |> 
  hide_columns(ci) |> # 隐藏置信区间列
  add_significance_stars(
    pattern = "{estimate}{stars}", # 系数后加星号
    hide_p = TRUE # 隐藏原p值列
  )

# 生成边际效应表,手动指定与m1一致的变量标签
m2 <- logitmfx(data = sleep, group ~ extra, atmean = TRUE) |> 
  tbl_regression(label = extra ~ "Hrs of sleep") |> 
  hide_columns(ci) |> 
  add_significance_stars(
    pattern = "{estimate}{stars}",
    hide_p = TRUE
  )

# 合并两张表,可自定义列标题
tbl_merge(list(m1, m2), tab_spanner = c("原回归结果", "边际效应"))

自定义调整说明

如果需要修改星号对应p值阈值,可在add_significance_stars()中添加thresholds参数,示例:
thresholds = c(0.01 = "***", 0.05 = "**", 0.1 = "*")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 18:36:02