使用传递文件的aR在命令行上调用RMarkdown

use*_*579 14 command-line automation r argument-passing r-markdown

总之,我在RStudio中的'input_file1.txt'上使用我的脚本'Graphs.R'来创建一个Rmd然后我编织成html.我想自动执行此过程以在命令行上运行更多文件.

到目前为止,我可以使用以下命令在命令行上运行Rscript:

Rscript Graphs.R input_file1.txt

我也知道我可以使用以下命令创建.RMD文件:

Rscript -e rmarkdown :: render(Graphs.R)

但是,我想做以下事情:

Rscript -e rmarkdown :: render('Graphs.R input_file1.txt','output_file.Rmd')

有什么想法如何做到这一点?

Lin*_*len 19

目前还不完全清楚你要做什么.看起来你有一个文本文件必须通过R脚本转换为Rmd(为什么它不只是一个Rmd开头?)然后你想渲染Rmd.您可以通过在终端中运行以下命令来执行此操作:

Rscript Graphs.R
Rscript -e "rmarkdown::render('output_file.Rmd')"
Run Code Online (Sandbox Code Playgroud)

第一个命令运行Graphs.R可能生成的文件output_file.Rmd.所述第二命令运行一个班轮其中织毛衣output_file.Rmdoutput_file.html.

如果要读取R文件中的命令行参数,请尝试?commandArgs.

args <- commandArgs(trailingOnly = TRUE)
Run Code Online (Sandbox Code Playgroud)

另请参阅此Stack Overflow问题.