使用 rmarkdown/knitr 保留所有代码直到结束
Use rmarkdown/knitr to hold all code until the end
我希望能够使用 knitr/rmarkdown 生成一个文档,该文档将所有输出放在一起,但将代码保留到最后,最好作为各种参考脚注(即每个代码的代码图或输出可以使用脚注在附录中查找)。这可能吗?
如果我没有理解错的话。
您可以向原始代码块添加标签,然后使用 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}
```
第一个块被执行(没有回显)并显示一个数字,第二个块只是回显第一个块的源。
一个解决方案是在末尾添加这个块。
{r ref.label=knitr::all_labels(), echo=TRUE, eval=FALSE}
然后您将拥有所有代码而无需评估。
我希望能够使用 knitr/rmarkdown 生成一个文档,该文档将所有输出放在一起,但将代码保留到最后,最好作为各种参考脚注(即每个代码的代码图或输出可以使用脚注在附录中查找)。这可能吗?
如果我没有理解错的话。
您可以向原始代码块添加标签,然后使用 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}
```
第一个块被执行(没有回显)并显示一个数字,第二个块只是回显第一个块的源。
一个解决方案是在末尾添加这个块。
{r ref.label=knitr::all_labels(), echo=TRUE, eval=FALSE}
然后您将拥有所有代码而无需评估。