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

如何用tbl_regression()将回归表95% CI列拆分为上下限列并保留表头

拆分gtsummary回归表的95%置信区间为上下限两列并保留共同表头

gtsummary确实没有专门的内置函数直接实现这个需求,但可以通过两个核心函数组合完成:modify_column_split()拆分CI列,modify_spanning_header()设置跨列的共同表头。以下是完整的实操步骤和代码示例:

步骤1:准备模型与初始回归表

先加载依赖包,用示例数据生成回归模型和基础的tbl_regression表:

library(gtsummary)
library(tidyverse)

# 以线性回归为例,可替换为你的目标模型
model <- lm(mpg ~ cyl + disp, data = mtcars)
# 生成带95%置信区间的初始回归表
tbl_base <- tbl_regression(model, conf.int = TRUE)

步骤2:拆分95% CI列

使用modify_column_split()拆分默认的ci列,正则表达式需要匹配你表格中CI的格式(默认是(下限, 上限)):

tbl_split_ci <- tbl_base %>%
  modify_column_split(
    column = ci,
    # 匹配"(数字, 数字)"格式的CI,捕获上下限内容
    pattern = "\\((.*), (.*)\\)",
    # 指定拆分后的列名
    into = c("95% CI 下限", "95% CI 上限")
  )

如果你的CI格式是下限 - 上限这类其他格式,只需调整pattern参数,比如改成"(.*) - (.*)"即可。

步骤3:添加共同的跨列表头

用modify_spanning_header()把拆分后的两列绑定到同一个"95% CI"表头下:

tbl_final <- tbl_split_ci %>%
  modify_spanning_header(
    # 选中拆分后的两列,设置跨列标题
    c(`95% CI 下限`, `95% CI 上限`) ~ "95% CI"
  )

最后打印tbl_final就能得到你想要的样式——95% CI作为上下限两列的共同表头,同时分开显示置信区间的两个数值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 10:37:42