在rmarkdown/knitr中创建带有R代码的附录

在rmarkdown/knitr中创建带有R代码的附录,r,knitr,r-markdown,R,Knitr,R Markdown,是否有可能在附录中获得所有代码。假设我在一个文档中有两个块,然后是一些文本 ```{r, echo=TRUE} x <- 4+5 x ``` Above is X output. ```{r, echo=TRUE} y <- 22+325 y ``` Above is Y output. 预期产出: Chunk_1 x <- 4+5 x Chunk_2 y <- 22+325 y Chunk\u 1 xknitr::purl()可以将标记文

是否有可能在附录中获得所有代码。假设我在一个文档中有两个块,然后是一些文本

```{r, echo=TRUE}
x <- 4+5
x
```  
Above is X output.

```{r, echo=TRUE}
y <- 22+325
y
```   

Above is Y output.
预期产出:

Chunk_1
x <- 4+5  
x

Chunk_2  
y <- 22+325  
y
Chunk\u 1
x
knitr::purl()
可以将标记文件中的所有R代码提取到R脚本中。您可以将其添加为附录

## appendix

```{r code=readLines(knitr::purl('~/path/to/file.Rmd', documentation = 0)), eval = FALSE}

```

您可以使用对初始块的引用,但随后更改选项:

main text

```{r blah, echo = FALSE}
summary(cars)
```

appendix

```{r blah2, ref.label='blah', eval = FALSE}
```
这将提供:

另一种可能性:

### Appendix 
```{r, ref.label=knitr::all_labels(),echo=TRUE,eval=FALSE}
```

正如

所建议的,这真的很好。可以把这些块分开吗?或者给一个标题?现在,我必须在代码中使用
#comments
。Set
documentation=1
。然后,章节标题将作为注释添加。有关详细信息,请参见
?purl
。最好的答案是不需要包含文件路径。我有时会/希望将某些功能的代码放在报告的附录中。我知道最初的问题是关于“所有”代码块的。最终,这个答案并不是提供“所有”块。这是一种直观的方式,可以将内容添加到Rmd文档的附录中,并允许编写周围的文本。其他答案显示了如何通过编程实现这一点。Yihui有一篇关于使用knitr::all_标签和子集或使用appendix=TRUE的文章。对于我未来的我:想想你想用附录中的代码做什么!这个可以带你走很远。
### Appendix 
```{r, ref.label=knitr::all_labels(),echo=TRUE,eval=FALSE}
```