1.5w字的Rmarkdown入门教程汇总(一)

简介: 1.5w字的Rmarkdown入门教程汇总

本文框架


88F($ZQ[@ZKOY22M68{RJ{F.png


第一章: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 的介绍。                       08a108f72ae0246f061eb1ca2c23d55b.png1:17

:该视频来自官网,一般不一定打得开,所以小编为大家着想就下载下来了,以便大家更好地学习。


视频已经非常清楚的介绍了Rmarkdown如何使用,内部构造、不同的输出类型,以及其他拓展(发布,与github相连)等。我们先对此进行简单了解即可,之后几期我会详细介绍。当然,官网也有一套 Rmarkdown 的入门教程,欢迎大家前去学习,官网截图如下:

JMS3S_DQXCFF$}8PX2BP6RF.png

其他参考资料可见这一期推文: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项目

  1. 点击Rstudio左上角的新建项目,选择Rmarkdown文件格式,即可建立一个rmarkdown编辑文件 。

8ca48267326278c83626d7e5d6ffd34.png

新建流程

  1. 在弹出的选项框里,可以申明rmarkdown的Title、Author以及默认的输出文件格式,一般可以选择HTML、PDF、Word格式,具体见下图。

58a0c1c02798385a99c83126706342a.png

  1. 在新建的markdown文件里,主要包含三块内容:1).YAML、2).markdown文本、3).代码块。

image.gif

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手动导出,另一种是基于命令行的导出方式。

手动导出

5b11389c8d32f5404b268a7e3393d14.png

手动导出

手动导出方法很简单,在完成mardown编辑后,手动点击上图红圈内knit按钮,选择导出格式类型即可,Rstudio支持导出PDF、html、word三种类型。


命令行导出

命令行导出主要依靠rmarkdown::render实现,render函数主要包含如下几个参数:

  • input:指定需要导出的rmarkdwon文件地址
  • output_format:指定需要导出的文件类型,同样支持pdf、word、html等多种文件格式。若未指定output_format格式,则输出rmarkdown文件中output指定的格式类型。
rmarkdown::render("test.Rmd")

YWCOG[E8A6@XO(Q3}2HZMW4.png


2.4. Rstudio界面介绍

这时Rstudio的界面发生了一些变化,我们对界面做一些介绍,尤其是最新版本的新功能,视频介绍已在b站更新(公众号不能倍速)。

024a487827d61f6290139b7064a71b6.png11:点击查看原视频05

演示的Rstudio版本为4.0.3


目录
相关文章
六、如何优雅地在PPT中使用课本插图?(附源文件) | 微课系列教程
上图,相信大家都不陌生吧!没错,《少年闰土》中的经典插图——看瓜刺猹。但这个图,不但没有高清版,就算有高清版,它的复古画风,不管如何都不好在PPT中排版啊。
407 0
|
2月前
|
算法框架/工具 索引 Python
Python基础教程(第3版)中文版 第三章 使用字符串(笔记)
Python基础教程(第3版)中文版 第三章 使用字符串(笔记)
|
3月前
|
Android开发 PyTorch 算法框架/工具
PyTorch 2.2 中文官方教程(二十)(2)
PyTorch 2.2 中文官方教程(二十)
76 0
PyTorch 2.2 中文官方教程(二十)(2)
|
3月前
|
PyTorch 算法框架/工具 异构计算
PyTorch 2.2 中文官方教程(二十)(4)
PyTorch 2.2 中文官方教程(二十)
65 0
PyTorch 2.2 中文官方教程(二十)(4)
|
3月前
|
PyTorch 算法框架/工具 并行计算
PyTorch 2.2 中文官方教程(二十)(3)
PyTorch 2.2 中文官方教程(二十)
103 0
|
10月前
|
Python
编程小白的自学笔记二(用python处理表格文件)
编程小白的自学笔记二(用python处理表格文件)
|
11月前
|
Python
【python基础知识】7.实操-用Python实现“文字PK”小游戏(二)
【python基础知识】7.实操-用Python实现“文字PK”小游戏(二)
97 0
【python基础知识】7.实操-用Python实现“文字PK”小游戏(二)
|
10月前
|
数据采集 Java Python
编程小白的自学笔记一(用python处理表格文件)
编程小白的自学笔记一(用python处理表格文件)
|
11月前
|
存储 程序员 Python
【python基础知识】7.实操-用Python实现“文字PK”小游戏(一)
【python基础知识】7.实操-用Python实现“文字PK”小游戏(一)
173 0
|
人工智能 Java Spring
很多博主用Markdown格式文章?直呼真不错!
很多博主用Markdown格式文章?直呼真不错!