如何在 tbl_summary 中使用 by = 参数进行有序排序?

how to do ordered sorting with by = argument in tbl_summary?

我正在使用 tbl_summary 函数从包含两组“案例”和“控制”的数据集中创建一个 table 1。

因为它自然地分为两列,左边是“Case”,右边是“Control”,所以我得到了这个 table:

table obtained from tbl_summary

但是,我希望“控制”组出现在左侧。 我试图重新排列这些因素,将“控制”放在“案例”之前。但是,“案例”仍然出现在左侧 - 我假设这是因为它遵循字母数字顺序。

我该如何解决这个问题?很简单的调整,但我一窍不通

反转 tbl_summary(by=) 中变量顺序的最简单方法是在将数据帧通过管道传输到 tbl_summary() 之前使用 forcats::fct_rev() 函数。

示例如下。编程愉快!

library(gtsummary)

trial %>%
  select(trt, age, marker) %>%
  mutate(trt = forcats::fct_rev(trt)) %>%   # reverse the ordering of trt variable
  tbl_summary(by = trt)