gtsummary:在 Markdown PDF 输出中适合宽表

nel*_*lsn 2 pdf r r-markdown gtsummary

我正在尝试创建一个患者特征表(表 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

谢谢

Dan*_*erg 5

首先,让我们解决列宽的问题。我们目前正在准备新版本的 gtsummary,将于下周发布到 CRAN。在新版本中,有一个名为的函数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)
Run Code Online (Sandbox Code Playgroud)

as_flextable()使用该函数,然后利用可从 flextable 包获得的格式化函数,可以获得类似的结果。

关于标题中的换行符......目前这是不可能的。但是,在函数中实现起来看起来非常简单as_kable_extra()http://haozhu233.github.io/kableExtra/best_practice_for_newline_in_latex_table.pdf)。如果我有时间,我将在下周发布之前添加此功能。

快乐编码!