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

Posted

技术标签:

【中文标题】使用传递文件的 a.R 在命令行上调用 RMarkdown【英文标题】:call RMarkdown on command line using a.R that is passed a file 【发布时间】:2015-04-14 23:20:42 【问题描述】:

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

有什么想法可以做到这一点吗?

【问题讨论】:

不清楚您要做什么。第一个脚本的结果是什么? Graphs.R 在 'input_file1.txt' 中创建表格和数据图表,例如 kable(df) 和一些插入表格的条形图以提供数据的汇总统计信息。 【参考方案1】:

目前还不完全清楚您要做什么。似乎您有一个文本文件,必须通过 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。

【讨论】:

以上是关于使用传递文件的 a.R 在命令行上调用 RMarkdown的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Python 3.8.0 的命令行上运行 python 文件;它改为调用 python 解释器

如何在命令行上传递一系列值 - 将表达式作为参数传递

函数内部 sed 命令中的 bash 语法错误,在命令行上工作正常

浏览器上的推送通知工作不在命令行上

如何在没有节点的情况下在命令行上执行javascript [关闭]

使用进度在 Windows 命令行上复制文件