12.2.1 Rmarkdown和Knitr包的主要功能
Rmarkdown包是安装在RStudio编辑器环境下,通过R来书写可重复动态报告的一个独立第三方包。Rmarkdown包在ppt、pdf、html、doc文件中嵌入R代码和结果,语法与Markdown一致。Rmd文档的修改需要加载Rmarkdown包来编辑。对于首次使用该包的用户,可以在RStudio首页菜单栏选择“Tools→Install Packages→Packages”,输入“Rmarkdown”单击确定后安装,也可以通过github途径下载安装Rmarkdown包,代码如下:
与其他R包不同,Rmarkdown包的加载使用不需要通过library()函数,其在RStudio环境下可以实现自动加载。用户可以通过“File→New File→R markdown”创建一个Rmarkdown文件,如图12-4所示。
图12-4 RStudio创建Rmarkdown文件示例
在如图12-4所示的界面中,分别输入Title、Author里面的内容Untitled、gjh,选择HTML输出格式,单击“OK”按钮后,将新建一个Rmarkdown文件,文件内容如图12-5所示。
上述新建的Rmarkdown文件中包含3种重要的内容类型:用“—”包裹的YAML文件头;用“```”包裹的R代码段;一段英文文本。
如果用户想要生成包含文本、代码和输出的完整报告,可以借助于Knitr包来完成。对于初次使用该包的用户,可以通过在RStudio菜单项中选择“Tools→Install Packages→Packages”,输入“Knitr”单击确定后安装,也可以直接在RStudio控制台输入以下代码安装:
图12-5 新建的Rmarkdown文件内容示例
安装完Knitr包后,需要完成必要的参数配置。在RStudio菜单项中,选择“Tools→Global Options→Sweave→Weave Rnw files using→knitr”,如图12-6所示。
接下来,还需要在RStudio菜单项中,通过选择“Tools→Global Options→Code→Saving→Default text encoding→UTF-8”将编码格式转变为“UTF-8”,防止使用Rmd文件时出现中文乱码,如图12-7所示。
在完成上述必要参数设置后,若要自动生成html格式的报告,有以下三种方式可选:在RStudio界面中单击“Knit”按钮;手动按组合键“Ctrl+Shift+K”;在RStudio的控制台输入命令“rmarkdown::render(“name.Rmd”)”。自动输出的HTML报告如图12-8所示。
下面将详细介绍如何定制Rmarkdown文件的3个主要组成部分:Markdown文本、代码段和YAML文件头。
图12-6 在RStudio中设置Knitr参数
图12-7 在RStudio中设置编码格式
图12-8 Rmarkdown自动生成的HTML报告示例