You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用gtsave()将两个gt/gtsummary对象保存到同一个PDF文件?

将两张gt表格保存到同一PDF的同一页面

可以通过将多个gt表格转换为图形对象后组合,再导出为PDF的方式实现,以下是两种实用方案:

方案一:使用gridExtra包组合表格

先将gt表格转为grob对象,再垂直排列后保存:

library(gt)
library(gridExtra)

# 构造对应你提供的abc和xyz表格
tbl_abc <- gt(data.frame(
  Column_A = c("Cell 1", "Cell 3"),
  Column_B = c("Cell 2", "Cell 4")
)) %>% 
  tab_header(title = "表格1. abc")

tbl_xyz <- gt(data.frame(
  Column_A = c("Cell 1", "Cell 3"),
  Column_B = c("Cell 2", "Cell 4")
)) %>% 
  tab_header(title = "表格2. xyz")

# 转换为grob对象并组合
grob_abc <- as_grob(tbl_abc)
grob_xyz <- as_grob(tbl_xyz)
combined_table <- grid.arrange(grob_abc, grob_xyz, ncol = 1)

# 保存到同一PDF页面
ggsave("combined_tables.pdf", combined_table, width = 8, height = 10)

方案二:使用patchwork包简化操作

patchwork支持直接拼接gt对象,代码更简洁:

library(gt)
library(patchwork)

# 构造对应你提供的abc和xyz表格
tbl_abc <- gt(data.frame(
  Column_A = c("Cell 1", "Cell 3"),
  Column_B = c("Cell 2", "Cell 4")
)) %>% 
  tab_header(title = "表格1. abc")

tbl_xyz <- gt(data.frame(
  Column_A = c("Cell 1", "Cell 3"),
  Column_B = c("Cell 2", "Cell 4")
)) %>% 
  tab_header(title = "表格2. xyz")

# 垂直拼接并保存
(tbl_abc / tbl_xyz) %>% 
  ggsave(filename = "combined_tables.pdf", width = 8, height = 10)

注意事项

  • 确保已安装所需依赖包:install.packages(c("gt", "gridExtra", "patchwork", "ggplot2"))
  • 根据表格内容调整width和height参数,避免内容被截断或页面留白过多

内容的提问来源于stack exchange,提问作者Ting Zhang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 08:50:02