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

如何调整tbl_uvregression生成表格的变量显示顺序?

解决gtsummary中tbl_uvregression变量顺序不符问题

你定义的变量顺序为age, stage, grade, marker, response,但使用tbl_uvregression生成表格时,变量顺序却变成了age、marker、stage、grade、response。这是因为include参数仅负责筛选要纳入的变量,不会改变变量的显示顺序——表格默认会按照变量在原始数据集里的出现顺序排列。

解决方法

可以通过modify_table_body()函数手动指定变量顺序,调整后的完整代码如下:

covars <- c("age", "stage", "grade", "marker", "response")

tbl_uvregression(
  trial,
  method = coxph,
  y = Surv(ttdeath, death),
  exponentiate = TRUE,
  include = all_of(covars),
  hide_n = TRUE,
  add_estimate_to_reference_rows = TRUE
) %>%
  # 按预设顺序重新排列变量行
  modify_table_body(
    ~ .x %>%
      dplyr::arrange(factor(label, levels = covars))
  ) %>%
  as_kable()

另一种思路是先重新排列数据集的变量顺序,再调用函数:

covars <- c("age", "stage", "grade", "marker", "response")
trial_reordered <- trial %>% select(all_of(covars), ttdeath, death)

tbl_uvregression(
  trial_reordered,
  method = coxph,
  y = Surv(ttdeath, death),
  exponentiate = TRUE,
  include = all_of(covars),
  hide_n = TRUE,
  add_estimate_to_reference_rows = TRUE
) %>%
  as_kable()

当前生成的表格(顺序不符,中文翻译版)

特征HR95% CIp值
年龄1.010.99, 1.020.332
标记物水平(ng/mL)0.910.72, 1.150.435
T分期
T11.00参考值
T21.180.68, 2.040.560
T31.230.69, 2.200.476
T42.481.49, 4.144.7e-04
分级
I1.00参考值
II1.280.80, 2.050.305
III1.691.07, 2.660.024
肿瘤反应0.500.31, 0.780.003

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 18:24:52