将 long gtsummary() table 拆分为 n 个更小的 tables

Split long gtsummary() table to n smaller tables

在使用 gtsummary() 包创建描述性 table 时,我得到了一个很长的 table。 是否可以将这样的 table 拆分为多个较短的 table?

通过这个示例数据集,我想说明我的意思:

library(gtsummary)
# make dataset with a few variables to summarize
trial2 <- trial %>% select(age, grade, response, trt)

# summarize the data with our package
table1 <- tbl_summary(trial2)
table1

给出这个输出:

期望输出:

我试过了:

library(gtsummary)
# make dataset with a few variables to summarize
trial2 <- trial %>% select(age)
trial3 <- trial %>% select(grade)
trial4 <- trial %>% select(response)
trial5 <- trial %>% select(trt)

# summarize the data with our package
table1 <- tbl_summary(trial2)
table2 <- tbl_summary(trial3)
table3 <- tbl_summary(trial4)
table4 <- tbl_summary(trial5)

table1
table2
table3
table4

更新:此代码已功能化并放入包中。这是帮助文件https://www.danieldsjoberg.com/gtsummary/reference/tbl_split.html

有趣的是,我从来没有想过拆分一个 gtsummary table。做起来很简单,我写了一个小函数来做这个 GitHub Gist https://gist.github.com/ddsjoberg/1f400732f0bf9bc9ae6ad1dd8b1cf914

该函数将 gtsummary tbl 以及您希望拆分发生的变量名称作为输入。然后它 returns 一个 gtsummary 列表 tables,每个都是输入 tbl 的一个子集。

tt <- 
  trial %>%
  tbl_summary(by = trt) %>%
  add_p()

split_gtsummary_tbl(tt, .split_after = c("marker", "grade"))

如果您认为这对许多用户有帮助,请在 https://github.com/ddsjoberg/gtsummary/issues/new?assignees=&labels=&template=feature_request.md&title= 提出功能请求。然后我们可以合并一个强大的函数来拆分 tbls。