使用传递文件的 a.R 在命令行上调用 RMarkdown

call RMarkdown on command line using a.R that is passed a file

总而言之,我在 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')

有没有关于如何做到这一点的想法?

不完全清楚您要做什么。看起来你有一个文本文件必须通过 R 脚本转换为 Rmd(为什么它不只是一个 Rmd 开始?)然后你想呈现 Rmd。您可以在终端中通过 运行 这些命令执行此操作:

Rscript Graphs.R
Rscript -e "rmarkdown::render('output_file.Rmd')"

第一个命令运行 Graphs.R 文件,该文件可能会生成 output_file.Rmd。第二个命令运行一个将 output_file.Rmd 编织成 output_file.html 的单行代码。

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

args <- commandArgs(trailingOnly = TRUE)

另请参阅此 Stack Overflow question