markdown 易于写入和读取,具有编写报告的必要功能,例如简单的文本格式,嵌入图

片、链接、表、引用、数学公式以及代码块。

虽然在 markdown 中编写纯文本很容易,但是创建具有许多图片和表格的报告却不是

很容易,特别是当图和表是由代码动态生成的时候。R Markdown 是将 R 整合到 markdown

的“杀手锏”级别的应用程序。

更具体地说,我们在本章前面展示的 markdown 都是静态文档。也就是说,它们在编写的过

程中就被确定下来了。但是,R Markdown是R代码和markdown文本的结

合。R 代码的输出可以是文本、表、图像以及交互式的小工具,可以渲染

成 HTML 网页、PDF 文档,甚至是 Word 文档。要了解更多 R Markdown

支持的格式,请访问 http://rmarkdown.rstudio.com/formats.html。

为了创建一个 R Markdown 文档,请单击菜单项,如图 15-7

所示。

将 R 整合到 markdown 中_应用程序


图 15-7

如果还没有安装 rmarkdown 和 knitr,RStudio 会自动安装这些

必要的扩展包。然后,编辑标题和作者,并选择默认的输出格式,

如图 15-8 所示。

一个新的 R Markdown 文档就会被创建出来。新文档并非空文档,而是一个演示文档,

内容包括编写文本和嵌入生成的图像的 R 代码的基础知识。在模板文档中,我们可以看到

如图 15-9 所示的一些代码。

将 R 整合到 markdown 中_应用程序_02

图 15-8

将 R 整合到 markdown 中_html_03


图 15-9

这段代码计算了 summary(cars),并返回一些文本内容,如图 15-10 所示。

将 R 整合到 markdown 中_代码块_04


图 15-10

上面这段代码执行 plot(pressure),并生成一幅图。注意,我们可以通过这样的

形式:{r [chunk_name], [options]}设置每段代码的选项。其中[chunk_name]是

可选的参数,用于命名生成的图像;[options]也是可选的,用于指定是否将显示代码在

输出文档中。此外,还可以限定图的宽度和高度等。还有很多可以设置的选项,具体内容

请访问 http://yihui.name/knitr/options/。

渲染文档,只需单击 Knit 按钮,如图 15-11 所示。

将 R 整合到 markdown 中_html_05


图 15-11

当文档被正确保存到硬盘时,RStudio 就会调用函数将文档渲染成到网页。具体来说,

渲染文档需要两个步骤。

1.knitr 模块运行每个代码块的代码,并根据代码块的选项对代码和输出进行相应的

设置,从而将 Rmd 完全渲染成为静态标记文档。

2.pandoc 模块则根据文件开始部分指定的 Rmd 选项,将 markdown 文档渲染成为

HTML、PDF 或 DOCX 文件格式。

当我们在 RStudio 中编辑一个 R Markdown 文档时,可以随时选择生成哪种文件格式,

然后它将自动调用 knitr 模块将文档渲染成 markdown,再运行已经设置了适当参数的 pandoc

模块来生成这种格式的文档。此外,也可以通过使用由 knitr 和 rmarkdown 模块提供的函数

来完成上面这些操作。

在新文档对话框中,我们还可以使用 R Markdown 选择演示文稿并创建幻灯片。由于

编辑文档和创建幻灯片是类似的,这里我们不再详细介绍这个主题。