本文框架
第一章:Rmarkdown 简介
Rmarkdown 是 R 语言环境中提供的 markdown 编辑工具,运用 rmarkdown 撰写文章,既可以像一般的 markdown 编辑器一样编辑文本,也可以在 rmarkdown 中插入代码块,并将代码运行结果输出在 markdown 里。R Markdown 格式,简称为 Rmd 格式, 相应的源文件扩展名为.Rmd。输出格式可以是 HTML、docx、pdf、beamer 等。
前面介绍参考:李东风老师的《R 语言教程》[1]。
对于专注于用 R 语言写报告的数据分析师来说,rmarkdown 既提高了数据分析工作的便捷性,也提高了数据分析报告的复用性。markdown 的教程以及对应的编辑器介绍可见:R沟通|markdown编辑器—Typora(可跳转) 这一期主要介绍 Rmarkdown。
1.1官网视频介绍
先通过官方视频[2]来看看 Rmarkdown 的介绍。 01:17
注:该视频来自官网,一般不一定打得开,所以小编为大家着想就下载下来了,以便大家更好地学习。
视频已经非常清楚的介绍了Rmarkdown如何使用,内部构造、不同的输出类型,以及其他拓展(发布,与github相连)等。我们先对此进行简单了解即可,之后几期我会详细介绍。当然,官网也有一套 Rmarkdown 的入门教程,欢迎大家前去学习,官网截图如下:
其他参考资料可见这一期推文:R分享|Rmarkdown参考资料分享和自制视频教程预告(可跳转)。knitr 的详细文档参见网站knitr 文档[3]。关于 R Markdown 可参考专著(Xie, Allaire, and Grolemund 2019[4])和(Xie, Dervieux, and Riederer 2020[5])。
RStudio 网站提供了一个 R Markdown 使用cheatsheet下载,可以在公众号后台回复cheatsheet
,获得包括rmarkdown在内的小抄。Pandoc 的文档见pandoc 网站[6]。
这一期内容不多,主要介绍下 Rmarkdown 的基本概念,给出一些参考资料,下一期正式进入 Rmarkdown 的手把手学习。
第二章:Rmarkdown流程演示
2.1. 安装
假设你已经安装了R[7](R Core Team 2020)和RStudio IDE[8]。
不需要RStudio,但建议使用RStudio,因为它可使普通用户更轻松地使用R Markdown。如果未安装RStudio IDE,则必须安装Pandoc(http://pandoc.org),否则不需要单独安装Pandoc,因为RStudio已将其捆绑在一起。
接下来,Rstudio中安装rmarkdown软件包,可以通过下面任意一种方式:
# Install from CRAN install.packages('rmarkdown') # Or if you want to test the development version, # install from GitHub if (!requireNamespace("devtools")) install.packages('devtools') devtools::install_github('rstudio/rmarkdown')
如果要生成PDF输出,则需要安装LaTeX。对于从未安装过LaTeX的R Markdown用户,建议安装TinyTeX[9]:
install.packages('tinytex') tinytex::install_tinytex() # install TinyTeX
TinyTeX是一种轻便,可移植,跨平台,易于维护的LaTeX发行版。R配套软件包tinytex可以帮助你在将LaTeX或R Markdown文档编译为PDF时自动安装缺少的LaTeX软件包,并确保将LaTeX文档编译正确的次数以解决所有交叉引用。
注: 如果TinyTex通过上面代码无法正常安装,可以参考张敬信老师的知乎文章:搭建Latex环境:TinyTex+RStudio https://zhuanlan.zhihu.com/p/328585804如果编译.rmd格式时出现缺失某些Latex包,可以参考这节内容https://bookdown.org/yihui/rmarkdown-cookbook/install-latex-pkgs.html
2.2. 新建Rmarkdown项目
- 点击Rstudio左上角的新建项目,选择Rmarkdown文件格式,即可建立一个rmarkdown编辑文件 。
新建流程
- 在弹出的选项框里,可以申明rmarkdown的Title、Author以及默认的输出文件格式,一般可以选择HTML、PDF、Word格式,具体见下图。
- 在新建的markdown文件里,主要包含三块内容:1).YAML、2).markdown文本、3).代码块。
rmd主要包含
1)YAML:是Rmarkdown的头部文件(上图1位置),YAML定义了rmarkdwon的性质,比如title、author、date、指定output文件类型等。
2)markdown文本:是rmarkdown里的主要内容(上图3位置),由编辑人员按照markdown语法自行编写文本内容。
3)代码块:rmarkdown的一个主要功能是可以执行文件内的代码块(上图2位置),并将代码执行结果展示在markdown里。这对撰写数据分析报告带来了极大的便利。Rmd文件中除了R代码段以外, 还可以插入Rcpp、Python、Julia、SQL等许多编程语言的代码段, 常用编程语言还可以与R代码段进行信息交换。
这三个部分会在以后做详细介绍。
2.3. Rmarkdown的导出
rmarkdown的导出方法有两种,一种是依靠Rstudio手动导出,另一种是基于命令行的导出方式。
手动导出
手动导出
手动导出方法很简单,在完成mardown编辑后,手动点击上图红圈内knit按钮,选择导出格式类型即可,Rstudio支持导出PDF、html、word三种类型。
命令行导出
命令行导出主要依靠rmarkdown::render
实现,render函数主要包含如下几个参数:
- input:指定需要导出的rmarkdwon文件地址
- output_format:指定需要导出的文件类型,同样支持pdf、word、html等多种文件格式。若未指定output_format格式,则输出rmarkdown文件中output指定的格式类型。
rmarkdown::render("test.Rmd")
2.4. Rstudio界面介绍
这时Rstudio的界面发生了一些变化,我们对界面做一些介绍,尤其是最新版本的新功能,视频介绍已在b站更新(公众号不能倍速)。
11:点击查看原视频05
演示的Rstudio版本为4.0.3