如何在modelsummary中导出多份表格至Word文档不同页面?
解决modelsummary多模型导出至同一Word文档不同页面的问题
直接重复调用modelsummary会覆盖原有文档,你可以通过以下几种方式实现多表格分页面导出:
方法1:一次性传入模型列表(推荐)
将多个模型打包成列表传入modelsummary,通过pagebreak = TRUE参数让每个模型的表格自动单独占一页:
library(modelsummary) # 用列表包裹多个模型,设置pagebreak实现分页 modelsummary( list("模型1" = models1, "模型2" = models2), output = "table.docx", pagebreak = TRUE )
方法2:分多次调用并追加内容
如果需要分步骤导出(比如中间要添加其他文本内容),可以使用append = TRUE参数追加到已有文档,同时通过add_rows添加分页符:
- 第一次导出第一个模型:
modelsummary(models1, output = "table.docx")
- 第二次追加第二个模型,先插入分页符:
library(tibble) modelsummary(models2, output = "table.docx", append = TRUE, add_rows = tibble(rowtype = "pagebreak", starts_with = TRUE) )
方法3:结合officer包手动控制文档结构
如果需要更灵活的文档编辑(比如添加自定义标题、段落),可以用officer包直接操作Word文档对象:
library(officer) library(modelsummary) # 创建空Word文档对象 doc <- read_docx() # 添加第一个模型表格,并插入分页符 doc <- body_add_table(doc, modelsummary(models1, output = "dataframe")) doc <- body_add_break(doc) # 添加第二个模型表格 doc <- body_add_table(doc, modelsummary(models2, output = "dataframe")) # 保存最终文档 print(doc, target = "table.docx")
内容的提问来源于stack exchange,提问作者flxflks
相关产品推荐
相关产品推荐

