将 knitr 整合到您的工作流程中

Incorporating knitr into your workflow

只是想知道,人们如何将 knitr 整合到他们当前的工作流程中?我有一个很长的、预先存在的 .R 文件,它读取数据、进行分析,并在文件末尾生成一个 ggplot 图表和一个 table 总结我的发现。我想将这些合并到文档中,无论是降价还是 LaTeX。我是否应该将我的初始 .R 文件重命名为 .Rmd 文件并将 knitr 命令放在末尾?我是否应该创建一个新的 .Rmd 文件来创建报告,并以某种方式合并 .R 文件中的分析?换句话说,将 knitr 输出添加到我现有的工作流程的最佳实践是什么?

您应该使用外部资源来将您的脚本作为您的代码存储库和您的 knitr 文档来调用它。您将从这种方法中受益。

例如,在您的长 .R 脚本中标记您现有的代码,如下所示:

## @knitr Q5

all your data prep code

plotQ5 <- ggplot(your plot code

plotQ5

然后在你的 knitr 文档中,后缀为 .Rnw,有类似这样的代码块

<<Q05, results='hide', echo = FALSE, include=FALSE>>=
@

<<Q05plot, fig.width=width, fig.height=height, fig.align="center", warning = FALSE, echo=FALSE>>=
plotQ05
@

现在,当您为 Latex 编译 PDF 时,knitr 将从脚本获取代码和绘图,并输出包含绘图的 PDF 文件。

此外,学习在 knitr 中缓存大对象,这样如果它们没有改变就不需要再次读入它们。