保存到新位置时,图表图像无法在RMarkdown中显示在Word文档中

时间:2015-04-27 11:13:14

标签: r r-markdown

我正在创建一个复杂的RMarkdown文档,其中包含ggplot2中的一些图表。我运行以下代码:

rmarkdown::render(input="U:/John/R/aa_app/output/template.Rmd")

这会创建一个名为" template.docx"的Word文档。没问题。

但是,我需要能够为此文档指定不同的文件名和位置。所以我跑:

rmarkdown::render(input="U:/John/R/aa_app/output/template.Rmd",output_file="U:/John/R/aa_app/output/test.docx")

rmarkdown::render(input="U:/John/R/aa_app/output/template.Rmd",output_file="U:/John/R/aa_app/output/temp/test.docx")

在这两种情况下,都会创建一个名为" test.docx"的Word文档。但是文件中缺少图表。我收到一系列错误消息:

"C:/Program Files/RStudio/bin/pandoc/pandoc" template.utf8.md --to docx --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures
--output U:/John/R/aa_app/output/test.docx --highlight-style tango   
pandoc.exe: Could not find image `U:/John/R/aa_app/output/test_files/figure-docx/unnamed-chunk-3-1.png', skipping...  
pandoc.exe: Could not find image `U:/John/R/aa_app/output/test_files/figure-docx/unnamed-chunk-3-2.png', skipping...  
pandoc.exe: Could not find image `U:/John/R/aa_app/output/test_files/figure-docx/unnamed-chunk-4-1.png', skipping...  
pandoc.exe: Could not find image `U:/John/R/aa_app/output/test_files/figure-docx/unnamed-chunk-7-1.png', skipping...  
pandoc.exe: Could not find image `U:/John/R/aa_app/output/test_files/figure-docx/unnamed-chunk-8-1.png', skipping...  
pandoc.exe: Could not find image `U:/John/R/aa_app/output/test_files/figure-docx/unnamed-chunk-8-2.png', skipping...  
pandoc.exe: Could not find image `U:/John/R/aa_app/output/test_files/figure-docx/unnamed-chunk-8-3.png', skipping...  
pandoc.exe: Could not find image `U:/John/R/aa_app/output/test_files/figure-docx/unnamed-chunk-8-4.png', skipping...

有谁知道出了什么问题?

更新:这是一个可重复的例子。

Repro.Rmd的代码:

---
title: "Repro"
author: "John Butters"
date: "Tuesday, April 28, 2015"
output: word_document
---


```{r, echo=FALSE}
plot(cars)
```

如果我运行以下代码,则会生成一个名为" Repro.docx"其中包括"汽车"数据集。

rmarkdown::render(input="U:/John/R/Repro.Rmd")

但是,如果我运行以下代码,则会生成一个名为" aaargh.docx"这不包括情节,我得到与上面相同的pandoc错误。

rmarkdown::render(input="U:/John/R/Repro.Rmd",output_file="U:/John/R/aaargh.docx")

"C:/Program Files/RStudio/bin/pandoc/pandoc" Repro.utf8.md --to docx --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures --output U:/John/R/aaargh.docx --highlight-style tango 
pandoc.exe: Could not find image `U:/John/R/aaargh_files/figure-docx/unnamed-chunk-1-1.png', skipping...

1 个答案:

答案 0 :(得分:2)

知道了。您无法为output_file参数提供完整的文件路径。还有一个output_dir参数也不会采用完整的文件路径。

所以,这有效:

rmarkdown::render(input="U:/John/R/Repro.Rmd",output_file="aaargh.docx")

这也有效,只要" Temp"是" R"。

的子文件夹
rmarkdown::render(input="U:/John/R/Repro.Rmd",output_file="aaargh.docx",output_dir="Temp")