如何修改gtsummary包生成表格的字体为Times New Roman?
gtsummary表格设置Times New Roman字体(适配APA规范Word导出)
前置依赖
先安装并加载必备包:
# 安装包(仅需运行一次) install.packages(c("gtsummary", "flextable")) # 加载包 library(gtsummary) library(flextable)
推荐方案(flextable后端,Word兼容性最优)
该方案设置的格式导出到Word后不会错乱,完全适配APA规范要求:
- 步骤1:生成你的gtsummary描述性统计表格(以下为示例代码,可替换为你自己的表格生成逻辑)
# 示例:基于内置trial数据集生成分组描述表 tbl <- trial %>% select(age, grade, response, trt) %>% tbl_summary( by = trt, statistic = list( all_continuous() ~ "{mean} ({sd})", all_categorical() ~ "{n} ({p}%)" ), missing = "no" ) %>% modify_caption("**表1 研究对象基线特征**") %>% modify_spanning_header(all_stat_cols() ~ "**干预分组**")
- 步骤2:转换为flextable对象,统一设置字体为Times New Roman
tbl_flex <- as_flex_table(tbl) %>% # 全局设置所有部分(表头、表体、注释)字体为Times New Roman font(fontname = "Times New Roman", part = "all") %>% # 适配APA格式:表头加粗,正文字号12号 bold(part = "header") %>% fontsize(size = 12, part = "all") %>% # 可选:设置1.5倍行距符合APA排版要求 line_spacing(space = 1.5, part = "all")
- 步骤3:导出为Word文档,导出的表格可直接粘贴到论文中,无需额外调整字体
save_as_docx(tbl_flex, path = "自定义保存路径/基线特征表.docx")
可选方案(gt后端)
若你更习惯使用gt包做表格调整,可使用以下代码设置字体:
library(gt) tbl_gt <- as_gt(tbl) %>% # 设置全表字体 tab_style( style = cell_text(font = "Times New Roman", size = px(12)), locations = list(cells_body(), cells_column_labels(), cells_footnotes()) ) %>% # 表头加粗适配APA规范 tab_style( style = cell_text(weight = "bold"), locations = cells_column_labels() ) # 导出为Word gtsave(tbl_gt, filename = "自定义保存路径/基线特征表.docx")
注意:若导出后字体未生效,请确认你的操作系统已预装Times New Roman字体,Windows、macOS系统默认自带该字体,部分Linux发行版需手动安装后再运行代码。
内容的提问来源于stack exchange,提问作者ivana jovanovska
相关产品推荐
相关产品推荐

