gtsummary:在 Markdown PDF 输出中适合 table
gtsummary: Fit wide table in Markdown PDF output
我正在尝试创建患者特征 table (table 1),这可行,但由于我的 "by" 变量有 10 个类别,它会溢出 PDF 页面.
我已尝试截断类别名称,并将页面布局更改为横向,但仍有 1 个类别不在页面上。
你能告诉我如何解决这个问题吗?
有没有办法打印 N 和 N(%),默认情况下出现在 headers 列上的 N 和 N(%) 出现在列名称的正下方,而不是在同一行上,以便剪切降低宽度?例如你的例子是什么:
药物 A,N = 98 (49%)1 药物 B,N = 102 (51%)1
成为:
药物 A _ _ _ _ _ _ _ _ _药物 B
N = 98 (49%)1 _ _ _ _ _ N = 102 (51%)1
谢谢
首先,让我们解决一下列宽的问题。我们目前正在准备下周发布到 CRAN 的新版本 gtsummary。在新版本中,有一个名为 as_kable_extra()
的函数可以将 gtsummary object 转换为 kable 并使用 kableExtra 添加额外的格式。您可以使用此函数将 gtummary object 转换为与 kableExtra 一起使用,然后减小字体大小以使 table 适合。使用 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 包中提供的格式化函数。
关于 header 中的换行符...目前这是不可能的。但是,在 as_kable_extra()
函数 (http://haozhu233.github.io/kableExtra/best_practice_for_newline_in_latex_table.pdf) 中实现它看起来很简单。如果有时间,我会在下周发布之前添加此功能。
编码愉快!
我正在尝试创建患者特征 table (table 1),这可行,但由于我的 "by" 变量有 10 个类别,它会溢出 PDF 页面.
我已尝试截断类别名称,并将页面布局更改为横向,但仍有 1 个类别不在页面上。
你能告诉我如何解决这个问题吗?
有没有办法打印 N 和 N(%),默认情况下出现在 headers 列上的 N 和 N(%) 出现在列名称的正下方,而不是在同一行上,以便剪切降低宽度?例如你的例子是什么:
药物 A,N = 98 (49%)1 药物 B,N = 102 (51%)1
成为:
药物 A _ _ _ _ _ _ _ _ _药物 B
N = 98 (49%)1 _ _ _ _ _ N = 102 (51%)1
谢谢
首先,让我们解决一下列宽的问题。我们目前正在准备下周发布到 CRAN 的新版本 gtsummary。在新版本中,有一个名为 as_kable_extra()
的函数可以将 gtsummary object 转换为 kable 并使用 kableExtra 添加额外的格式。您可以使用此函数将 gtummary object 转换为与 kableExtra 一起使用,然后减小字体大小以使 table 适合。使用 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 包中提供的格式化函数。
关于 header 中的换行符...目前这是不可能的。但是,在 as_kable_extra()
函数 (http://haozhu233.github.io/kableExtra/best_practice_for_newline_in_latex_table.pdf) 中实现它看起来很简单。如果有时间,我会在下周发布之前添加此功能。
编码愉快!