在 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
。
这与 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
。