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

使用gt函数设置gtsummary合并表格样式时遇错求助

问题根源

tbl_merge()仅支持合并gtsummary类对象,但你用as_gt()把t1转换成了gt包的表格对象,它不再属于gtsummary类型,因此触发类型不匹配错误。另外你在tab_spanner参数里误用as_gt()也是错误的,这个参数只需要传入字符串向量。

两种可行解决办法

办法一:先合并gtsummary对象,再统一转为gt格式并设置样式

先保留所有待合并表格的gtsummary类型,完成合并后再转成gt表格并添加格式选项:

library(survival)
library(tidyverse)
library(gt)
library(gtsummary)

# 保留gtsummary对象,不提前转gt
t1 <- 
  glm(response ~ trt + grade + age, trial, family = binomial) %>%
  tbl_regression(exponentiate = TRUE)

t2 <- 
  coxph(Surv(ttdeath, death) ~ trt + grade + age, trial) %>%
  tbl_regression(exponentiate = TRUE)

# 先合并gtsummary对象,再转gt设置格式
tbl_merge_ex1 <- 
  tbl_merge(
    tbls = list(t1, t2),
    tab_spanner = c("**Tumor Response**", "**Time to Death**")
  ) %>%
  as_gt() %>%
  gt::tab_options(table.font.names = "Times New Roman")

tbl_merge_ex1

办法二:先对单个gtsummary表格做专属自定义,再合并转gt

如果需要对单个表格做gtsummary层面的修改(比如调整列标题、添加脚注),先完成这些操作,再合并后转gt设置格式:

# 对t1做gtsummary层面的自定义(示例:修改列标题)
t1_custom <- 
  glm(response ~ trt + grade + age, trial, family = binomial) %>%
  tbl_regression(exponentiate = TRUE) %>%
  modify_header(label ~ "**Covariate**")

t2_custom <- 
  coxph(Surv(ttdeath, death) ~ trt + grade + age, trial) %>%
  tbl_regression(exponentiate = TRUE) %>%
  modify_header(label ~ "**Covariate**")

# 合并后转gt设置格式
tbl_merge_ex2 <- 
  tbl_merge(
    tbls = list(t1_custom, t2_custom),
    tab_spanner = c("**Tumor Response**", "**Time to Death**")
  ) %>%
  as_gt() %>%
  gt::tab_options(table.font.names = "Times New Roman")

tbl_merge_ex2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 04:55:24