10

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

4

2 回答 2

10

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

第一个块被执行(没有回显)并显示一个图形,第二个块只是回显第一个块的源。

于 2015-02-11T16:33:31.113 回答
5

一种解决方案是在最后添加这个块。

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

然后你将把所有的代码放在一起,而无需评估。

于 2020-05-29T02:01:37.667 回答