Automate RStudio processed RMarkdown?
Asked Answered
M

2

4

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.

Mendicity answered 9/10, 2014 at 19:48 Comment(0)
J
9

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"):

enter image description here

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

enter image description here

Jeri answered 9/10, 2014 at 20:9 Comment(0)
A
1

I had the same issue. After a lot of brute force, I got the same result as RStudio with this command line:

"path\to\Rscript.exe" -e "rmarkdown::find_pandoc(dir='path/to/RStudio/bin/pandoc'); rmarkdown::render('file.Rmd')"
Arbitration answered 29/8, 2020 at 2:16 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.