在 markdown 文件上使用 knit 但忽略了一大块代码 - 采购 knitr 文件

using knit on markdown file but ignoring a chunk of code - sourcing knitr files

这与 How to source R Markdown file like `source('myfile.r')`? 类似,但有以下区别:我希望我的降价文件生成 R 脚本以供将来采购。上一个问题有兴趣直接获取 markdown 文件(这在这一点上似乎并不容易)。

编译生成可用源 R 文件的 .Rmd markdown 文件可以通过包含以下内容来实现:

```{r, ignore = TRUE, include = FALSE}
knit('markdown_file.Rmd', 'source_file.R', tangle = T)
```

这创建了一个 source_file.R 非常好的但它包含最后的 knit 调用。因此,当我在不同的脚本中 source("source_file.R) 时,它会重新创建并覆盖自身,这似乎是一种不好的做法。有没有办法告诉 knit 忽略 .Rmd 文件中的一段代码?

我使用 bash 脚本解决了这个问题,并从 R 脚本中完全删除了编织片段。

Rscript -e 'knitr::knit("markdown_file.Rmd", "source_file.R", tangle = T)'

所以通过这种方法,我可以使用类似的 bash 脚本将我的 .Rmd 编​​织成所需的文档输出(如 pdf,代码未显示),然后这行代码创建一个 R 文件可以供其他 R 脚本使用。实际上,我不再需要在 Rmd 文件(或 RStudio 中)中调用 knit