调整R Markdown中gt包输出表格的尺寸
R Markdown输出Word时调整gt表格尺寸的实现方法
场景1:直接输出gt原生Word表格(不转图片)
- 这种场景下
fig.dim参数不生效,因为fig.dim仅作用于图片类输出元素,gt原生输出为Word表格元素,需要通过gt自带的tab_options()函数直接配置样式,核心可调整参数如下:table.width:设置表格总宽度,支持百分比(用pct()包裹)或固定长度单位(如px()、in())data_row.padding/heading.padding/summary_row.padding:调整各类行的内边距,间接控制表格总高度table.font.size:调整全局字体大小,同步适配表格尺寸
- 代码示例:
library(gt) # 生成gt表格并直接调整尺寸 gt(head(iris)) %>% tab_options( table.width = pct(75), # 占版心宽度的75% data_row.padding = px(4), # 缩小数据行内边距降低总高度 table.font.size = px(12) )
场景2:将gt表格转图片插入Word
- 这种场景下可以直接复用代码块的
fig.dim参数,无需先将图片保存到工作目录,只需将gtsave输出指向临时文件,再用knitr::include_graphics()引入即可,代码块的尺寸参数会自动生效 - 代码示例(代码块头设置
{r fig.dim = c(8, 3), echo = FALSE}):
library(gt) library(knitr) # 生成gt表格 gt_obj <- gt(head(iris)) %>% tab_header(title = "鸢尾花数据集前6行") # 输出为临时png并插入文档,直接继承代码块的fig.dim设置 gt_obj %>% gtsave(tempfile(fileext = ".png")) %>% include_graphics()
注:转png功能依赖
webshot2包,未安装的话先运行install.packages("webshot2")即可。
内容的提问来源于stack exchange,提问作者Adam
相关产品推荐
相关产品推荐

