微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 rmarkdown::render() 上循环不打印 Word 文档中的表格

如何解决在 rmarkdown::render() 上循环不打印 Word 文档中的表格

我试图在 Word 文档中包含一个表格,但没有结果。我在结果文档中得到的只是表格元素的文本列表,包括列名。

我的代码被组织成两个脚本:

脚本调用 Markdown 文件 KG-report.Rmd

rmarkdown::render("KG-report.Rmd",params = list(
    pest.name = pest.name),output_file = paste0("Report-",pest.name,".docx")

Markdown 脚本 KG-report.Rmd

---
title: "Some title"
author: "me"
date: "`r Sys.Date()`"
output:
  officedown::rdocx_document:
    reference_docx: Simple_master_template_opinions.docx
    tables:
      style: Table
params: 
  pest.name: "Default pest"
---

```{r process-map,echo=FALSE,warning=FALSE,message=FALSE,fig.keep='all'}
# create and check directories
  source("R_scripts\\pest.PROFILE.check.pest.directories.r",local = knitr::knit_global())
  
  # download distribution tables or load reviewed distribution table
  source("R_scripts\\pest.PROFILE.web.EPPO.distribution.table.r",local = knitr::knit_global())

  knitr::kable(pest.kg.table)

etc...

经过多次测试并遵循未能解决问题的文字格式建议(例如here)后,问题似乎与循环有关

rmarkdown::render()

如果我不使用它,表格就会被打印出来...... 是否有任何已知问题或我只是以错误的方式使用它? 谢谢

更新 - 找到解决方

最后我找到了解决方案。看起来 kable 函数在 word 文件中打印了一个 html 表格,导致文本没有表格格式。添加参数 format = "pipe" 解决了问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。