使用 tbl_merge {gtsummary} 合并它们时指定 tbl_regression 表的顺序

Specifying order of tbl_regression tables when merging them using tbl_merge {gtsummary}

有时,当您使用 tbl_merge 合并由 tbl_regression 创建的 table 时, 它不会按照您指定的顺序合并 tables。 例如;

  t1 <- trial %>%
  na.exclude() %>%
  lm(marker ~ age + ttdeath, .) %>%
  tbl_regression()
t2 <- trial %>%
  na.exclude() %>%
  lm(marker ~ age + response + death, .) %>%
  tbl_regression()
t3 <- trial %>%
  na.exclude() %>%
  lm(marker ~ age + stage + death, .) %>%
  tbl_regression()
t4 <- trial %>%
  na.exclude() %>%
  lm(marker ~ stage + grade + death, .) %>%
  tbl_regression()

tbl_merge(list(t2, t4, t3, t1))

我指定的是2,4,3,1的顺序,但是创建的table是1,3,4,2的顺序。 因此,我想按照我最初指定的方式更改“列”的顺序或合并 table。

我试过了

as_gt() %>% move_cols() 

但无济于事。

有没有办法解决这个问题? 任何帮助,将不胜感激。 提前谢谢你。

排序应该比这更可预测!我认为您在排序栏中发现了一个错误,我将在下一个版本中更正它。

同时,下面的代码将正确地重新排列列。

library(gtsummary)
packageVersion("gtsummary")
#> [1] '1.5.0'

t1 <- lm(marker ~ age + ttdeath, trial) %>% tbl_regression()
t2 <- lm(marker ~ age + response + death, trial) %>% tbl_regression()
t3 <- lm(marker ~ age + stage + death, trial) %>% tbl_regression()
t4 <- lm(marker ~ stage + grade + death, trial) %>% tbl_regression()

tbl <- 
  tbl_merge(list(t2, t4, t3, t1)) %>%
  modify_table_body(
    ~.x %>%
      dplyr::relocate(
        c(ends_with("_1"), ends_with("_2"), ends_with("_3"), ends_with("_4")), 
        .after = label
      )
  )

reprex package (v2.0.1)

于 2021-11-24 创建