2015-02-06 84 views
2

我试图在rMarkdown中使用相同的模板生成约50份报告。我不想每次都更改输入文件的名称,我想为输出文件选择不同的名称。使用rMarkdown自动生成报告

有没有办法如何自动化这个过程?

谢谢。

+0

一种选择是使用[融洽包(http://rapport-package.info /)。 – daroczig 2015-02-06 16:41:08

回答

3

另一种方法是使用rmarkdown软件包的render()函数在单独的R脚本中呈现报告。

report.Rmd看起来像这样:

--- 
output: pdf_document 
--- 
# A table with data received from R script 

```{r,results='asis'} 
library("knitr") 
kable(mydataset) 
``` 

将R脚本看起来像这样:

library("rmarkdown") 
for (i in 1:50){ 
mydataset <- head(mtcars) 
render(input="report.Rmd", output_file=paste0("reportNo_", i, ".pdf")) 
} 
+0

谢谢,但我忘了提及每个输入(report.Rmd),我使用的是不同的数据集。所以,在这种情况下,我需要50个Rmd文件。有什么建议么? – kojak 2015-02-08 09:05:26

+0

您可以将来自R脚本的数据集传递到您的Rmd文件。看到我编辑的答案。现在您只需要在每个循环中定义数据集。 – jmjr 2015-02-09 11:03:52

+0

现在它完美地工作。非常感谢你。 – kojak 2015-02-10 11:13:22