按照程序,我的bookdown
项目按如下方式进行:
我使用bookdown
进行了很好的分析和叙述,可以高效地快速丢弃临时(相当大的)数据集/ ggplot2
对象(转换前/转换后的数据等)。
但是:目标受众主要/仅对4.和5.感兴趣,这使我想到了以下结构:
4。,5.,附录(1.,2.,3.)
除了预先计算1.-5之外,还有其他方法吗?然后按目标顺序重新访问-我希望尽可能避免在内存中累积所有这些ggplot2
对象。
答案 0 :(得分:2)
您可以执行以下操作:
*.Rmd
文件,例如123.Rmd
和45.Rmd
。45.md
的开头添加一个将123.Rmd
编织到123.md
的代码块: ```{r knit123, include = FALSE}
knitr::knit("123.Rmd", output = "123.md")
```
这将在Markdown中生成步骤1-3的输出,并使由此创建的所有对象可用于步骤4-5。
45.Rmd
的末尾添加一个代码块,读取123.md
会显示其内容: ```{r include123, results = "asis"}
cat(readLines("123.md"), sep = "\n")
```
results = "asis"
将阻止任何进一步的处理,因为它已经是有效的Markdown。
45.Rmd
编织为所需的任何目标格式。编辑(1) :
TL; DR :与其在整个步骤4-5中将步骤1-3的对象存储在内存中,以便随后进行打印,请先打印它们并将结果存储在磁盘上。>
编辑(2):
由于您明确提到了书本,所以:如果在编织过程结束时有一个YAML选项包括Markdown文件,我将不会感到惊讶(类似include-after: 123.md
);但我不确定从头顶就知道,而且我懒得自己抬头。 ;-)