将knitr纳入您的工作流程

时间:2015-07-15 19:36:23

标签: r markdown knitr

只是想知道,人们如何将knitr纳入当前的工作流程?我有一个很长的,预先存在的.R文件,它读取数据,进行分析,并在我生成的文件的末尾,例如,ggplot图表和总结我的发现的表格。我想将这些内容合并到一个文档中,可以是markdown,也可以是LaTeX。我应该将我的初始.R文件重命名为.Rmd文件并将knitr命令放在最后吗?我应该创建一个创建报告的新.Rmd文件,并以某种方式合并.R文件中的分析?换句话说,将knitr输出添加到现有工作流程的最佳做法是什么?

1 个答案:

答案 0 :(得分:4)

您应该使用外部来源将您的脚本作为您的代码存储库和您的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中缓存大对象,这样如果它们没有改变就不需要再次读取它们。