RMarkdown从bash块访问参数

qfa*_*lle 5 bash r r-markdown

file.Rmd用参数创建了一个RMarkdown文件。

我知道如何在r chunk而不是从中访问参数bash chunk

如果绝对没有办法,我将通过文件将参数写入文件r chunk,然后从bash chunk... 读取文件。

---
output: html_document
params:
  myParam1:
    label: "Choose 1st parameter"
    value: 20
    input: slider
    min: 0
    max: 100
  myParam2:
    label: "Choose 2nd parameter"
    value: "Hello"
    input: text
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r, echo=FALSE}
print(paste("1st parameter :",params$myParam1))
print(paste("2nd parameter :",params$myParam2))
```

```{bash}
# Don't know how to get parameters here
echo $params
```
Run Code Online (Sandbox Code Playgroud)

谢谢

Chr*_* S. 6

我看到了几个选项

  1. 使用Sys.setenv从出口变量R键的bash,所以这行添加到的R块。

    Sys.setenv(params = params$myParam1)

  2. 使用runr 包


use*_*389 5

要将接受的答案中的导出到环境的想法应用到所有参数,只需将以下do.call循环添加到 bash 块之前的 R 块中:

```{r, echo=FALSE, message=FALSE}
for (key in names(params)) {
  do.call('Sys.setenv', params[key])
}
```
Run Code Online (Sandbox Code Playgroud)