Automate RStudio processed RMarkdown?

2019-04-12 07:22发布

问题:

I have an RMarkdown file that I use to generate a nice HTML report. The problem is, I want to be able to automate it so that it can run on a headless server. As such there will be nobody there to start Rstudio and press the 'knithtml' button and it seems that Rstudio is doing a LOT of additional magic like having it's own version of pandoc, running all the necessary commands, applying css styles etc.

How can I take this report and generate the same thing Rstudio is generating when I press the 'knithtml' button, but by just running an R script?

Thanks.

回答1:

Try using

rmarkdown::render("/PATH/TO/YOUR.Rmd", output_file="/PATH/TO/YOUR/OUTPUT.html")

instead. This assumes you've got the rmarkdown library loaded on your headless box. It will use the system pandoc, but make sure it's 1.12 or higher.

Here's what knit2html does (via the "R Markdown" tab near "Console"):

Here's a side-by-side. Left is clicking the button, right is running the command: