使用rmarkdown/knitr将所有代码保留到最后。

11

我希望能够使用knitr/rmarkdown生成一个文档,将所有输出放在一起,但将代码留到最后,最好作为一个参考脚注(即每个图像或输出的代码可以通过脚注在附录中查找)。这种操作是否可行?

2个回答

11

如果我理解你的意思是正确的,你可以给原始代码块添加一个标签,然后使用 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}
 ```

第一个代码块被执行(没有echo),它显示一个图形,第二个代码块只是输出第一个代码块的源代码。


5
一种解决方案是在末尾添加此代码块。
{r ref.label=knitr::all_labels(), echo=TRUE, eval=FALSE} 

然后,您将拥有所有代码,而不进行评估。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接