使用rmarkdown/knitr保存所有代码直到结束

mic*_*gia 7 r knitr r-markdown reproducible-research

我希望能够使用knitr/rmarkdown生成一个文档,将所有输出保持在一起,但将代码保留到最后,理想情况下作为引用的脚注(即可以查找每个图形或输出的代码)在附录中使用脚注).这可能吗?

Mar*_*ano 8

如果我正确理解你的意思.您可以向原始代码块添加标签,然后使用ref.label属性引用它并阻止其进一步执行eval=FALSE.

例如:

 # Header
 Bla bla ...
 ````{r plot1,echo=FALSE}
 x = rnorm(100,10,5)
 y = rnorm(100,10,5)
 plot(x,y)
 ````

 # Appendix

 Code chunk:
 ````{r ref.label="plot1",eval=FALSE}
 ```
Run Code Online (Sandbox Code Playgroud)

执行第一个块(没有回声)并显示一个数字,第二个块只是回显第一个块的源.


小智 6

一种解决方案是在末尾添加此块。

{r ref.label=knitr::all_labels(), echo=TRUE, eval=FALSE} 
Run Code Online (Sandbox Code Playgroud)

然后,您将拥有所有代码,无需评估。