RMarkdown 中用于 "source" 并显示现有 .R 文件中的代码的命令是什么?
What is the command in RMarkdown to "source" and display the code from an existing .R file?
示例:我的 R 脚本名为 "code.R"。它生成 y 与 x 的简单图。在 Rmarkdown 中看起来像这样。
````{r eval=FALSE}
## code in "code.R"
x = 1:10
y = 1:10
plot(x,y)
```
为了文档和可重复性,我想创建一个 Rmarkdown 文件,当从 RStudio 编织时,该文件显示为 "code.R"。 (有点像 LaTex 中的 \include{}。)由此产生的 RMarkdown PDF 应该显示来自 "code.R" 的 R 代码的未评估的逐字副本。
最终目标是制作一个 RMarkdown 文件,该文件可读取数十个 R 文件并将所有 R 代码分组到一个 PDF 中,以供重现和将来参考。这将阻止我每次更改源文件时都复制粘贴新的 R 代码。我实际上对 运行 RMarkdown 中的 R 代码不感兴趣。
部分解决方案(但如何?)可能是创建一个块来读取文件并存储读取的文本行,以及另一个块来将这些文本行显示为逐字代码?
````{r eval=FALSE} 中是否存在现有的内置 RMarkdown 命令或其他选项可以产生我想要的结果?你能举个例子吗?
一个 link 一个更复杂的 Whosebug 问题,它间接解决了我的问题,也很感激。
如有指点,将不胜感激!!
找到的解决方案:http://yihui.name/knitr/demo/externalization/
使用注释“## ---- input.R”(不带引号)开始您的 input.R 脚本
使用以下代码制作一个.Rmd 脚本并编织它。它将在生成的 PDF 中显示 input.R 脚本的内容。
---
output: pdf_document
---
```{r cache=FALSE, echo=FALSE}
knitr::read_chunk('input.R')
```
```{r input.R, eval=FALSE}
```
示例:我的 R 脚本名为 "code.R"。它生成 y 与 x 的简单图。在 Rmarkdown 中看起来像这样。
````{r eval=FALSE}
## code in "code.R"
x = 1:10
y = 1:10
plot(x,y)
```
为了文档和可重复性,我想创建一个 Rmarkdown 文件,当从 RStudio 编织时,该文件显示为 "code.R"。 (有点像 LaTex 中的 \include{}。)由此产生的 RMarkdown PDF 应该显示来自 "code.R" 的 R 代码的未评估的逐字副本。
最终目标是制作一个 RMarkdown 文件,该文件可读取数十个 R 文件并将所有 R 代码分组到一个 PDF 中,以供重现和将来参考。这将阻止我每次更改源文件时都复制粘贴新的 R 代码。我实际上对 运行 RMarkdown 中的 R 代码不感兴趣。
部分解决方案(但如何?)可能是创建一个块来读取文件并存储读取的文本行,以及另一个块来将这些文本行显示为逐字代码?
````{r eval=FALSE} 中是否存在现有的内置 RMarkdown 命令或其他选项可以产生我想要的结果?你能举个例子吗?
一个 link 一个更复杂的 Whosebug 问题,它间接解决了我的问题,也很感激。
如有指点,将不胜感激!!
找到的解决方案:http://yihui.name/knitr/demo/externalization/
使用注释“## ---- input.R”(不带引号)开始您的 input.R 脚本
使用以下代码制作一个.Rmd 脚本并编织它。它将在生成的 PDF 中显示 input.R 脚本的内容。
---
output: pdf_document
---
```{r cache=FALSE, echo=FALSE}
knitr::read_chunk('input.R')
```
```{r input.R, eval=FALSE}
```