在命令行上使用参数运行RMarkdown

在命令行上使用参数运行RMarkdown,r,bash,r-markdown,R,Bash,R Markdown,我正试图从命令行终端运行一个Rmarkdown文件(myfile.Rmd)。此文件需要使用参数才能工作。我们可以使用此简单文件作为示例: --- title: "Simple example" output: pdf_document: default --- ```{r read_arg, include=FALSE} args = commandArgs(TRUE) VAR = args[1] ``` ```{r show_var} VAR ``` 那么,首先,是否可以通过读取rs

我正试图从命令行终端运行一个Rmarkdown文件(
myfile.Rmd
)。此文件需要使用参数才能工作。我们可以使用此简单文件作为示例:

---
title: "Simple example"
output:
  pdf_document: default
---

```{r read_arg, include=FALSE}
args = commandArgs(TRUE)
VAR = args[1]
```

```{r show_var}
VAR
```
那么,首先,是否可以通过读取rscript的参数来运行Rmarkdown文件?我的意思是,不是像前面提到的那样读取输入文件

如果是,如何做到?我希望用于运行Rmarkdown文件的工作对我有用,但由于争论,它不起作用。我试着运行一些类似于:

Rscript -e "rmarkdown::render('myfile.Rmd myarg')"
编辑:但它会给出以下错误:

工具中出错::文件路径为绝对值(输入): 文件“myfile.Rmd_myarg”不存在 调用:->setwd->dirname-> 阿德马斯:警告信息: 1:在normalizePath(路径,winslash=winslash,mustWork=mustWork)中: 路径[1]=“myfile.Rmd myarg”:不存在el fichero或el directorio 2:在normalizePath(路径,winslash=winslash,mustWork=mustWork)中: 路径[1]=“myfile.Rmd_myarg”:不存在el fichero或el directorio 仲裁委员会


有什么想法吗?谢谢大家!

添加
myarg
对象作为参数是一种方法:

Rscript-e“rmarkdown::render('example.Rmd',params=list(args=myarg))”

然后将参数添加到
Rmd
文件中:

---
title: "Simple example"
output:
  pdf_document: default
params:
  args: myarg
---

此处有关参数化报告的文档:

使用
params
参数将参数传递给
render
。另外,在文件名和任何参数之间加一个逗号。似乎我可以运行
Rscript-e“rmarkdown::render('example.Rmd',params=list('myarg'))”
。现在生成PDF文件。我只是想知道为什么它会像预期的那样打印“NA”而不是“myarg”
myarg
添加到
RMD
文件的参数中,以便它知道如何接受它们。另外,请阅读有关如何将参数正确传递到报表的文档:非常感谢,现在它可以工作了。请把它写在答案里。我将接受调用Rscript时出现的小错误。应该是args,以便它使用建议的Rmd代码。您还缺少
Rscript
命令末尾的引号,我无法编辑它,因为它少于6个字符的编辑