我正试图创建一个患者特征表(表1(,它很有效,但由于我的"by"变量有10个类别,它会溢出PDF页面。
我试图截断类别名称,并将页面布局更改为横向,但仍有1个类别不在页面上。
你能告诉我怎么修吗?
有没有一种方法可以打印默认情况下显示在列标题上的N和N(%(,使其显示在列名的正下方,而不是在同一行上,以减少宽度?例如,你的例子是什么:
药物A,N=98(49%(1种药物B,N=102(51%(1种
未来:
药物A药物B
N=98(49%(1个月N=102(51%(1个
感谢
首先,让我们解决列宽的问题。我们目前正在准备一个新版本的gtsummary,将于下周发布给CRAN。在新版本中,有一个名为as_kable_extra()
的函数,它将把gtsummary对象转换为可操作对象,并使用kableExtra添加额外的格式。您可以使用此函数将gtummary对象转换为与kableExtra一起使用,然后减小字体大小以使表格适合。使用remotes::install_github("ddsjoberg/gtsummary")
从GitHub安装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)。如果有时间,我会在下周发布之前添加此功能。
快乐编码!