首先,让我们解决列宽的问题。我们目前正在准备下周发布到 CRAN 的新版本 gtsummary。在新版本中,有一个函数as_kable_extra()
可以将 gtsummary 对象转换为 kable 并使用 kableExtra 添加其他格式。您可以使用此函数将您的 gtummary 对象转换为与 kableExtra 一起使用,然后减小字体大小以使表格适合。从 GitHub 安装 gtsummary 的开发版本remotes::install_github("ddsjoberg/gtsummary")
这是一个代码示例:
library(gtsummary)
# build a tbl_summary object
trial %>%
select(trt, age, grade, response) %>%
tbl_summary(by = trt, missing = "no") %>%
# style the output with custom header
modify_header(stat_by = "{level}") %>%
# convert to kableExtra
as_kable_extra(booktabs = TRUE) %>%
# reduce font size to make table fit.
# you may also use the `latex_options = "scale_down"` argument here.
kableExtra::kable_styling(font_size = 7)
使用该函数可以获得类似的结果as_flextable()
,然后使用 flextable 包中提供的格式化函数。
关于标题中的换行符......目前这是不可能的。as_kable_extra()
但是,在函数中实现看起来很简单( http://haozhu233.github.io/kableExtra/best_practice_for_newline_in_latex_table.pdf)。如果有时间,我会在下周发布之前添加此功能。
快乐编码!