2015-02-06 87 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