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

如何用gtsummary基于broom::tidy()输出制表,避免重复计算置信区间?

解决方案:复用broom::tidy()结果生成gtsummary表格

完全可以直接用已有的broom::tidy()输出结果生成格式规范的gtsummary表格,无需重复计算置信区间。以下是两种简洁的实现方式:

方法一:使用tbl_custom_summary(推荐)

这个方法直接基于tidy后的数据集构建表格,利用gtsummary内置的格式化函数保证输出规范:

library(gtsummary)
library(broom)
library(dplyr)

# 二元逻辑回归模型
mod1 <- glm(response ~ trt + age + grade, trial, family = binomial)

# 提前计算并保存tidy结果(仅计算一次)
tbl_mod1 <- mod1 |>
  tidy(exponentiate = TRUE, conf.int = TRUE)

# 基于tidy结果生成gtsummary表格
tbl_final <- tbl_custom_summary(
  data = tbl_mod1,
  include = term,
  # 定义统计量格式:OR值+95%CI、P值
  stat_fns = list(
    ~list(
      or_ci = paste0(
        style_number(.x$estimate, digits = 2), 
        " (", style_number(.x$conf.low, digits = 2), 
        ", ", style_number(.x$conf.high, digits = 2), ")"
      ),
      p_val = style_pvalue(.x$p.value, digits = 3)
    )
  ),
  # 设置变量标签
  label = list(term = "变量")
) |>
  # 自定义表头
  modify_header(
    stat_1 = "**OR (95% CI)**",
    stat_2 = "**P值**"
  ) |>
  # 添加表格标题
  add_title("二元逻辑回归模型结果") |>
  # 移除默认脚注(可选)
  modify_footnote(everything() ~ NA)

# 查看表格
tbl_final

方法二:基于tbl_summary自定义合并列

如果需要更灵活的列调整,可以用tbl_summary处理数据框后合并CI列:

tbl_final <- tbl_mod1 |>
  select(term, estimate, conf.low, conf.high, p.value) |>
  tbl_summary(
    by = NULL,
    type = everything() ~ "continuous",
    label = list(
      term = "变量",
      estimate = "OR",
      conf.low = "95% CI下限",
      conf.high = "95% CI上限",
      p.value = "P值"
    )
  ) |>
  # 合并OR与CI为一列,格式化P值
  modify_table_body(
    mutate(
      or_ci = paste0(style_number(estimate, 2), " (", style_number(conf.low, 2), ", ", style_number(conf.high, 2), ")"),
      p.value = style_pvalue(p.value, 3)
    ) |>
      select(term, or_ci, p.value)
  ) |>
  modify_header(
    term = "**变量**",
    or_ci = "**OR (95% CI)**",
    p.value = "**P值**"
  ) |>
  add_title("二元逻辑回归模型结果")

# 查看表格
tbl_final

关键优势

  • 仅计算一次置信区间,避免重复耗时计算
  • 完全保留gtsummary的美观格式和后续定制能力(如添加显著性标记、调整样式等)
  • 输出结果与tbl_regression的规范格式一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 00:02:18