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