我有一个RMarkdown文件,用于生成一个不错的HTML报告。 问题是,我希望能够自动化它,以便它可以在无头服务器上运行。因此,没有人可以启动Rstudio并按下'knithtml'按钮,看起来Rstudio正在做很多额外的魔术,比如拥有它自己的pandoc版本,运行所有必要的命令,应用css样式等。
当我按下“knithtml”按钮时,如何通过运行R脚本来获取Rstudio生成的报告并生成相同的内容?
感谢。
答案 0 :(得分:7)
尝试使用
rmarkdown::render("/PATH/TO/YOUR.Rmd", output_file="/PATH/TO/YOUR/OUTPUT.html")
代替。这假设您已经在无头框上加载了rmarkdown
库。它将使用系统pandoc,但要确保它是1.12或更高。
这是knit2html
所做的事情(通过" R Markdown"标签靠近"控制台"):
这是一个并排的。左边是单击按钮,右边是运行命令:
答案 1 :(得分:1)
我有同样的问题。经过大量的暴力破解后,使用以下命令行可以获得与RStudio相同的结果:
"path\to\Rscript.exe" -e "rmarkdown::find_pandoc(dir='path/to/RStudio/bin/pandoc'); rmarkdown::render('file.Rmd')"