R沟通|Rmarkdown教程(2)
1. 安装
假设你已经安装了R[1](R Core Team 2020)和RStudio IDE[2]。
不需要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[3]:
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. 新建Rmarkdown项目
点击Rstudio左上角的新建项目,选择Rmarkdown文件格式,即可建立一个rmarkdown编辑文件 。
在弹出的选项框里,可以申明rmarkdown的Title、Author以及默认的输出文件格式,一般可以选择HTML、PDF、Word格式,具体见下图。
在新建的markdown文件里,主要包含三块内容:1.YAML、2.markdown文本、3.代码块。
1)YAML
YAML是Rmarkdown的头部文件(上图1位置),YAML定义了rmarkdwon的性质,比如title、author、date、指定output文件类型等。
2)markdown文本
markdown文本是rmarkdown里的主要内容(上图3位置),由编辑人员按照markdown语法自行编写文本内容,
3)代码块
rmarkdown的一个主要功能是可以执行文件内的代码块(上图2位置),并将代码执行结果展示在markdown里。这对撰写数据分析报告带来了极大的便利。Rmd文件中除了R代码段以外, 还可以插入Rcpp、Python、Julia、SQL等许多编程语言的代码段, 常用编程语言还可以与R代码段进行信息交换。
这三个部分会在以后做详细介绍。
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")
4. Rstudio界面介绍
这时Rstudio的界面发生了一些变化,我们对界面做一些介绍,尤其是最新版本的新功能,视频介绍已在b站更新(公众号不能倍速)。
参考资料演示的Rstudio版本为4.0.3
R: https://www.r-project.org
[2]RStudio IDE: https://www.rstudio.com
[3]TinyTeX: https://yihui.name/tinytex/
欢迎关注我的公众号,和我一起学R语言和数据科学!
往期推荐
R沟通|markdown编辑器—Typora
R沟通|用xaringan包制作幻灯片
R沟通|设置xaringan主题
R沟通|制作个性化ppt!
R沟通|舍弃Latex,拥抱Rbeamer吧!