1.介绍
Markdown是⼀种轻量级标记语⾔,它允许我们可以通过简单的⽂本格式编写⽂档,语法简单、上⼿容易,所以越来越多的人都在使用它,而且现在还有有很多可以⽀持Markdown编辑的应⽤软件,例如Typora、Notion等,通过这些⼯具可以便捷地完成Markdown编辑,并且⽀持导出PDF、HTML等多种格式。
对于经常使⽤R语⾔(不止R,也支持其他语言,如Python、SQL、Stan等)的人来说,比如我们,别人偶尔可能会需要复现我们的工作,那么这个时候,R Markdown就可以助我们一臂之力,以便于他人实现工作复现。可以说Rmd是又便捷又实用!
| 名称 | 显示|
|:-----------|:----------|
| 常规 | default|
| 斜体 | *italics* and _italics_|
| 粗体 | **bold** and __bold__|
| 上标 | superscript^2^|
| 下标 | HO~2~|
| 代码 | `code`|
| 删除线 | ~~strikethrough~~|
| 链接 | [Markdown官网](https://markdown.com.cn/)|
| 标题 | ## H2 |
| 短横线 | - |
| 长横线 | ---|
| 省略号 | ...|
| 水平线 | ***|
| 图片 | ![caption](pictures/mua.jpg)|
| 表格 | 这不就是嘛|
| 有序列表 | 1. 第一点|
| 无序列表 | - 第一点|
2. R Markdown 的使用
2.1 安装
R Markdown不需要R Studio,但建议使⽤R Studio,因为如果没有安装R Studio,就必须安装Pandoc,而R Studio已和它捆绑在⼀起,所以无需对其进行单独安装。
Rstudio中安装R Markdown软件包,可以通过下⾯任意⼀种⽅式:
点击Rstudio左上⾓的新建项⽬,选择R markdown⽂件格式,就可以建⽴⼀个R Markdown的编辑⽂件。 像这样:
在弹出的框⾥,可以填写R Markdown的Title、Author以及默认的输出⽂件格式,⼀般可以选择HTML、PDF、Word格式。
在新建的R Markdown⽂件⾥,主要包含三块内容:1.YAML;2.R Markdown⽂本;3.代码块。
YAML ------ R Markdown的头部⽂件(红),YAML定义了R Markdown的性质,⽐如title、author、date、指定 output⽂件类型等。
Markdown文本 ------ Markdown⽂本是R Markdown⾥的主要内容(黄),是使用者按照Markdown语法⾃⾏编写的⽂本内容。
代码块 ------ R Markdown的⼀个主要功能是可以执⾏⽂件内的代码块(蓝),并且将代码执⾏结果展⽰在Markdown⾥。这对撰写分析报告带来了极⼤滴便利。Rmd⽂件中除了R代码段以外, 还可以插⼊Python、SQL等许多编程语⾔的代码段,常⽤编程语⾔还可以与R代码段进⾏信息交换。
3.R代码块
⼀般通过{r}
来插⼊,也可以使用快捷键:Ctrl+Alt+I
/ option + cmd + I
,也可以直接点击右上方绿色的+C
。
eval: 加选项eval=FALSE,可以使得代码仅显⽰⽽不实际运⾏。这样的代码段如果有标签,可以在后续代码段中被引⽤。
include: 加选项include=FALSE,则本代码段仅运⾏,但是代码和结果都不写⼊到⽣成的⽂档中。
echo: echo参数控制了Markdown是否显⽰代码块。若echo=TRUE,则表⽰代码块显⽰在markdown⽂档显⽰代码块;反之,代码块不出现在输出结果中。
collapse: ⼀个代码块的代码、输出通常被分解为多个原样⽂本块中,如果⼀个代码块希望所有的代码、输出都写到同⼀个原样⽂本块中,加选项collapse=TRUE。
prompt: prompt=TRUE代码⽤R的>提⽰符开始。
comment:如果希望结果不⽤#号保护,使⽤选项comment=''。
results: ⽤选项results=选择⽂本型结果的类型。取值有:
markup,这是缺省选项,会把⽂本型结果变成HTML的原样⽂本格式;
hide,运⾏了代码后不显⽰运⾏结果;
hold,⼀个代码块所有的代码都显⽰完,才显⽰所有的结果。
asis,⽂本型输出直接进⼊到HTML⽂件中,这需要R代码直接⽣成HTML标签,knitr包的kable()函数可以把数据框转换为HTML代码的表格。
3.1 错误信息选项
warning,选项warning=FALSE使得代码段的警告信息不进⼊编译结果,⽽是在控制台中显⽰。有⼀些扩展包的载⼊警告可以⽤这种办法屏蔽。
error,选项error=FALSE可以使得错误信息不进⼊编译结果,⽽是出错停⽌并将错误信息在控制台中显⽰。
message,选项message=FALSE可以使得message级别的信息不进⼊编译结果,⽽是在控制台中显⽰。