我正在尝试从命令行终端运行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
```
首先,是否可以通过读取Rscripts的参数来运行Rmarkdown文件?我的意思是,不是通过阅读this问题中描述的输入文件。
如果是这样,怎么办呢?我希望用于运行Rmarkdown文件的here工作对我有用,但它并不是因为这个论点。我正试图运行类似的东西:
Rscript -e "rmarkdown::render('myfile.Rmd myarg')"
编辑:但它会出现以下错误:
工具中出错:: file_path_as_absolute(输入): 文件'myfile.Rmd_myarg'不存在 电话: - > setwd - > dirname - > Además:警告信息: 1:在normalizePath(path,winslash = winslash,mustWork = mustWork)中: path [1] =“myfile.Rmd myarg”:没有existe el fichero o el directorio 2:在normalizePath(path,winslash = winslash,mustWork = mustWork)中: path [1] =“myfile.Rmd_myarg”:没有exic el fichero o el directorio Ejecucióninterrumpida
有什么想法吗?谢谢!
答案 0 :(得分:3)
添加myarg
对象作为参数是可行的方法:
Rscript -e "rmarkdown::render('example.Rmd',params=list(args = myarg))
然后将参数添加到Rmd
文件中:
---
title: "Simple example"
output:
pdf_document: default
params:
arg: myarg
---
有关参数化报告的文档:https://rmarkdown.rstudio.com/developer_parameterized_reports.html