是否可以从Knitr / Rmarkdown中的文件中获取多个外部块?

时间:2017-05-01 10:48:52

标签: r knitr r-markdown

我有一个R脚本文件script.r as,

## ---- Chunk-1 ----------
x <- rnorm(1000)

## ---- Chunk-2 ----------
hist(x)

现在在我的rmarkdown文档doc.rmd中,我可以将script.r文件读为

knitr::read_chunk("script.r")

我可以按如下方式执行这两个块,

```{r Chunk-1}
```

```{r Chunk-2}
```

无论如何,我可以一起执行Chunk-1Chunk-2。在我的实际情况中,我有很多块,我希望它们在脚本文件中分开,但我需要它们中的一些在Rmd文件中一起执行。我想知道是否有更简单的方法,而不是重复空白块。

1 个答案:

答案 0 :(得分:0)

也许我错过了一些东西,但我没有看到将script.r文件用作块的目标。查看示例时,如果要在Rmd文件中执行script.r文件,可以直接使用source('script.r')

除非你想根据条件执行一些块。为此,您是否知道可以将完整的外部Rmd文件作为子文档调用?

您的child-script.Rmd

```{r Chunk-1}
x <- rnorm(1000)
```

```{r Chunk-2}
hist(x)
```

您的主要Rmd脚本:

Some markdown text
```{Call_child, child='./child-script.Rmd'}
```
Some other markdown text