只运行具有重复块名称的另一个Rmarkdown文档中的一个Rmarkdown文档中的代码

时间:2017-03-06 17:04:13

标签: r knitr r-markdown

我在Rmarkdown写了一系列相互建立起来的报道。我想在我目前正在编写的报告中包括上一份报告的结果。我看到其他问题建议使用purl从Rmarkdown文档中提取R代码然后运行它,所以我尝试了以下内容:

```{r read.previous, echo=FALSE}
source(knitr::purl("previous.Rmd",output=tempfile(),documentation=0))
```

但是当我尝试编织当前报告时,它失败了,抱怨有重复的块名称。我认为documentation=0参数会删除所有块名称,但看起来在另一个purl会话中运行knit会让事情变得混乱。在我的案例中,使所有块名称在报告中唯一是不切实际的。

有没有一种简单的方法可以从Rmarkdown文件中获取代码并在另一个文件中执行,忽略块名称?

1 个答案:

答案 0 :(得分:0)

如下添加一大块代码可以解决您的问题:

```{r}
options(knitr.duplicate.label = 'allow')
```