我的bookdown
项目按程序进行如下:
- 读取原始数据-生成各种统计数据
- 数据预处理(对数化、归一化、插补(-生成各种图,用于监测所产生的群体水平缺陷
- 用于分析QC的主成分分析-生成主成分分析和负载主导数据点的图
- 差异表达分析-生成火山图和具有显著差异表达特征的图
- 对来自4。在各种生物本体系统中-为丰富的类别生成示例条形图
我使用bookdown
很好地集成了分析和叙述,能够有效地动态丢弃临时(相当大的(数据集/ggplot2
对象(转换前/转换后数据等(。
HOWEVER:目标受众大多/只对4感兴趣&5.,引导我进入渴望的以下结构:
4.,5.,附录(1.,2.,3.(
除了预计算1.-5之外,还有其他方法吗。然后按目标顺序重新访问——如果可能的话,我宁愿避免在内存中累积所有ggplot2
对象。
您可以执行以下操作:
- 将步骤1-3和4-5拆分为两个特定的
*.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(:
既然你明确提到了bookdown:如果有一个YAML选项在编织过程结束时包括一个Markdown文件(类似于include-after: 123.md
(,我不会感到惊讶;但我不太确定,我也懒得自己查