knitr用 R 语言生成动态报告
knitr 是一个通用的文学编程引擎(literate programming),其轻量级的 API 旨在让用户完全控制输出,而无需繁重的编码工作。它将许多功能结合到一个包中,并根据作者对 Sweave 的日常使用进行了一些微调。
受 Sweave 启发,knitr 包被设计为一个使用 R 生成动态报告的透明引擎。Sweave 是文学编程的一种巧妙而新颖的实现,它的主要问题是难以扩展。
knitr 旨在让用户可以访问处理文学编程文档的过程的每个部分。
- 透明度意味着用户可以完全访问每一块输入和输出,例如,1+2 在 R 终端产生 [1]3,knitr 可以让用户决定是否把 1+2 放在 \begin{verbatim} 和 \end{verbatim} 之间,或者 <div class="rsource"> 和 </div>,并把[1] 3放在 \begin{Routput}和 \end{Routput};细节见挂钩页面。
- knitr 试图通过运行 R 代码与用户的期望保持一致,就像它被粘贴在 R 终端一样,例如,qplot(x, y) 直接产生绘图(不需要 print() 它),并且一个代码块中的所有绘图将被默认写入输出。
- pgfSweave 和 cacheSweave 等包为 Sweave 增加了有用的功能(高质量的 tikz 图形和缓存),knitr 简化了实现。
- knitr 的设计允许任何输入语言(如 R、Python 和 shell 脚本)和任何输出标记语言(如 LaTeX、HTML、Markdown、AsciiDoc 和 reStructuredText)。
评论