在另一个具有重复 block 名称的 Rmarkdown 文档中仅运行来自一个 Rmarkdown 文档的代码

标签 r knitr r-markdown

我正在用 Rmarkdown 编写一系列相互补充的报告。我想将上一份报告的结果包含在我目前正在处理的报告中。我看到其他问题建议使用 purl 从 Rmarkdown 文档中提取 R 代码然后运行它,所以我尝试了以下操作:

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

但是当我尝试编织当前报告时,它失败了,提示有重复的 block 名称。我认为 documentation=0 参数会删除所有 block 名称,但似乎在另一个 knit session 中运行 purl 会让事情变得困惑。在我的情况下,使所有报告中的 block 名称唯一是不切实际的。

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

最佳答案

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

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

关于在另一个具有重复 block 名称的 Rmarkdown 文档中仅运行来自一个 Rmarkdown 文档的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42631398/

相关文章:

windows - 在脚本编辑器中显示行号

r - 行/列的最佳排序以减小 R data.frame 对象的大小

r - 如何在 R markdown 中保留表 "here defnitely"

r - 在 (R)markdown 文本正文输出中包含 `bibentry` 的文本

html - 使用 wkhtmltopdf 或 Markdown 将 data.frames 中的 html 保存为 pdf

r - 在生产中部署 R 模型的选项

r - 堆积面积图未正确显示负值

用\$替换$; knitr block 选项 : echo=TRUE, 结果 ='markup;$=\\$'

r - 在 rmarkdown 中为图形/绘图添加标题

r - xtable 如何进行单元格着色