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

如何用gtsummary生成带CI且总览列在末尾的汇总表?

问题原因及解决方案

原因

add_ci() 函数在添加置信区间时,默认会重新调整列顺序,把总览(Overall)列移到所有分组列的最前面,这直接覆盖了之前 add_overall(last = TRUE) 设定的列位置。

解决方法

这里提供两种可行的修复方式:

方法1:调整函数调用顺序

先执行 add_ci() 再调用 add_overall(last = TRUE),这样总览列会被放在最后,且不会被后续函数修改顺序:

library(gtsummary)
library(tidyverse)

trial %>%
  tbl_summary(
    by = trt,
    include = "stage") %>%
  add_ci() %>%
  add_overall(last = TRUE)

方法2:手动调整列顺序

如果需要保持原函数顺序,可在最后用 modify_column_order() 手动将总览列移至末尾:

library(gtsummary)
library(tidyverse)

trial %>%
  tbl_summary(
    by = trt,
    include = "stage") %>%
  add_overall(last = TRUE) %>%
  add_ci() %>%
  # 将总览列(默认列名为stat_0)移到分组列之后
  modify_column_order(col_order = c("stat_1", "stat_2", "stat_0"))

如果不确定分组列的具体名称,也可以用更通用的写法:

modify_column_order(col_order = c(starts_with("stat_") %>% setdiff("stat_0"), "stat_0"))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 00:22:10