咨询gtsummary包是否支持导出每页带脚注的表格及类似tt_to_flextable的功能
关于gtsummary分页添加每页标题/脚注的解决方案
目前gtsummary并没有内置类似rtables中tt_to_flextable的功能,无法直接实现分页后每页自动添加相同标题和脚注。不过可以借助flextable的原生功能,通过以下步骤达成需求:
- 将gtsummary对象转换为flextable:调用
as_flextable()完成格式转换 - 配置分页规则:使用
flextable::set_table_properties(layout = "autofit")开启自动分页,也可根据内容行数手动指定分页位置 - 添加每页重复的标题/脚注:
- 标题:通过
flextable::add_header_row()添加标题行,再用flextable::hdr_flextable(repeat_header = TRUE)设置标题每页重复 - 脚注:用
flextable::add_footer_row()添加脚注行,配合flextable::ftr_flextable(repeat_footer = TRUE)让脚注在每页底部重复
- 标题:通过
以下是简单的代码示例:
library(gtsummary) library(flextable) # 生成gtsummary统计表格 tbl <- trial %>% select(trt, age, grade) %>% tbl_summary(by = trt) # 转换为flextable并配置分页重复元素 ft <- as_flextable(tbl) %>% # 添加全局标题并设置每页重复 add_header_row(values = c("研究分组统计结果"), colwidths = 3) %>% hdr_flextable(part = "header", repeat_header = TRUE) %>% # 添加全局脚注并设置每页重复 add_footer_row(values = c("注:数据来自trial数据集,数值为均值(标准差)或频数(百分比)"), colwidths = 3) %>% ftr_flextable(part = "footer", repeat_footer = TRUE) %>% # 开启自动分页适配 set_table_properties(layout = "autofit", paginate = TRUE) # 导出为RTF文件 save_as_rtf(ft, path = "paginated_table.rtf")
需要注意,flextable的重复脚注功能在RTF导出中需确保包版本兼容,建议使用最新版flextable以避免格式异常。
内容的提问来源于stack exchange,提问作者xiecheng gu
相关产品推荐
相关产品推荐

