Linux中国

R Markdown 语法新手指南

你可能已经了解过轻量级标记语言 Markdown。如果你是第一次接触这个概念,请参考我们的 Markdown 指南。概括来讲,它是一种用于创建纯文本文档的简单又高效的语言。

然而,Markdown 在制作详细的报告或技术文件方面可能还不够完善。

受益于 knitr 和 Pandoc 等软件包,交互式文件格式 R Markdown 早在 2014 年就出现了。它将纯文本与内嵌的 R 代码相结合,可以制作动态文件。

你可以使用 各种 IDE 和扩展来创建 R Markdown 文档,官方 IDE 为 RStudio。因此,在这篇文章中,我们将重点介绍使用 RStudio 学习 R Markdown 语法

?(假如你没有了解过,)R 编程语言 是一种用于统计计算、图形表示和报告的语言。

配置 RStudio

通过合适的配置,你可以很轻松地用 RStudio 来编写 R Markdown。只需要安装一个软件包,就已经完成了大部分的工作!

安装 RStudio 后,在 “ 工具 Tools ” 菜单中选择 “ 安装软件包 Install Packages ” 选项。

在 RStudio 的工具菜单下选择安装软件包选项

在弹出的对话框中,搜索 “rmarkdown” 并安装。

通过搜索并在新的软件包安装对话框中按下安装按钮来安装 Rmarkdown 软件包

? 如果你想使用类似 Python 的代码块,你需要安装额外的包。当你想在你的文档中包含这些包时,RStudio 会提示你安装所需的包。

安装完成后,你可以通过选择 “ 文件 File > 新建文件 New File > R Markdown” 来新建一个 R Markdown 文档。

从文件菜单中创建一个新的 RMarkdown 文档

之后会提示你添加一些关于文件的信息(文件的元数据),把这些填上就可以了。

用 R Markdown 语法写出标题和其他细节

或者你可以创建一个空的文件从零开始。

RMarkdown 语法

由于它是 “加强版的 Markdown”,因此大多数语法与 Markdown 是一样的。

它还有一些 Markdown 支持不完善的东西,比如表格、数学方程式、代码块等等

下面是我们要介绍的内容的概括:

RMarkdown 块名 语法
标题 # 一级标题## 二级标题### 三级标题一级标题=======二级标题-------
着重 *斜体*_斜体_**加粗**__加粗__
列表 无序列表:* 列表项* 列表项+ 子项+ 子项有序列表:1. 列表项2. 列表项+ 子项+ 子项
代码块 普通代码块:`这里写代码R 代码块:`{r}R 代码````你也可以用其他的语言行内 代码
链接 普通链接:粘贴 URL带标题的链接:[显示的文本](URL_地址)跳转到锚点: [显示的文本](#锚点)
表格 | 列名 | 列名 | 列名 || ------ | ------ | ------ || 项内容 | 项内容 | 项内容 || 项内容 | 项内容 | 项内容 |
方程式 行内方程式 $Equations$展示方程式: $$Equations$$
图片 无标题: ![](图片链接)有标题:![可选标题](图片地址)
引用块 > 输入你引用的内容
其他 上角标:文本内容^上角标^章或页水平分割线=========----------行尾输入两个以上空格,即可添加人工行分割

YAML 头

在一个 R Markdown 文档的顶部,有一个 YAML 头,被两行 --- 包围。这个块定义了文档的最终样式,通常包含一个标题、作者、日期和你想输出的文件类型。

支持的文件格式有三种:HTML、PDF 和 Word

title: "Sample"
author: "It's FOSS"
date: "2023-02-08"
output: pdf_document

这可以在 RStudio 中设置新文件时添加,如上节所示。

标题

在 R Markdown 中,有两种方法指定标题。我们可以使用 # 字符来表示不同级别的标题,比如:

# Heading Level 1
## Heading Level 2
### Heading Level 3
#### Heading Level 4
##### Heading Level 5
###### Heading Level 6

也可以用 =- 分别表示一级和二级标题。

一级标题
===============

二级标题
------------

rmarkdown 文件中不同等级的标题

列表

有两种列表,一种是无序列表,用点句符来表示:

* Item 1
* Item 2
        + Sub 1
        + Sub 2
* Item 3

另一种是有序列表,用数字来排序:

1. Item 1
2. Item 2
        + Sub 1
        + Sub 2
3. Item 3

有序和无序列表示例

段落中的文本格式

格式化文本有几种方式。

你可以使用斜体或加粗来着重表示文本:

  • 斜体:在文本前后各输入一个星号或下划线
  • 加粗:在文本前后各输入两个星号或下划线
*这里是斜体内容*
_这里是斜体内容_

**这里是加粗内容**
__这里是加粗内容__

? 你可以阅读我们的文章 Markdown 中怎么让内容变成加粗和斜体 来了解更多内容。

如果你想使用上角标,在想变成上角标的内容前后加上 ^ 符号。

普通文本内容^上角标^

如果你想对文本内容加删除线,在文本前后加 ~~ 符号。

~~被删除的内容~~

添加代码块

内嵌代码是 R Markdown 最主要的设计目的。我们有几种添加代码的方式。

添加普通代码块

如果你想添加一个代码块来与其他的文本进行区分,可以使用下面的语法:

```
这里输入你的代码

你也可以尝试 [对添加的代码进行高亮显示](https://itsfoss.com/markdown-code-block/)。

如果你想添加代码并将其输出嵌入到文档中,你可以在后面加上语言,并用大括号包裹:
这里输入你的代码

你可以用 ``` 符号来添加行内代码。

这里是 行内代码


它看起来是这样的:

![](/data/attachment/album/202303/15/090956jv88tnbvvv8rblv1.png)

#### 链接

如果想添加普通文本链接,把它粘贴到行内就可以了。

https://itsfoss.com


添加超链接,使用下面的语法:

[文本内容](URL 地址)


当你想链接到本页内的某个锚点时,使用下面的语法:

文本内容


![](/data/attachment/album/202303/15/090957haotprypzbp1sgyo.png)

#### 表格

表格的语法与 Markdown 相似:
列表 列表 列表
表格项 表格项 表格项
表格项 表格项 表格项

![](/data/attachment/album/202303/15/090958rna9nnv94m6q9asl.png)

> 
> ? 还想了解更多?请阅读我们的 [用 Markdown 创建表格](https://itsfoss.com/markdown-table/) 指南。
> 
> 
> 

#### 图片

添加图片使用下面的语法:

可选显示文本


![](/data/attachment/album/202303/15/090958v5537nh2vp3yj03y.png)

#### 块引用

RMarkdown 可以添加块引用。在被引用的行或段落前添加 `>`(大于号)。

这里是普通文本内容。

这里是块引用


![](/data/attachment/album/202303/15/090959term5fsg2655qfam.png)

> 
> ? 如果你想了解更多块引用的内容,请阅读我们的 [Markdown 引用](https://itsfoss.com/markdown-quotes/) 指南。
> 
> 
> 

#### 方程式

你可以用 RMarkdown 来添加方程式和展示复杂的 LaTex 方程式。

例如:

行内方程式:$Equation$

展示方程式:$$Equation$$


![在 R Markdown 文档中添加方程式](/data/attachment/album/202303/15/090959riq6f6kiqkgzh19s.png)

#### 章或页水平分割线

使用三个以上星号或减号来添加章或页水平分割线。




你可以在行尾添加两个以上的空格来添加人工行分割。

### R Markdown 非常有用(备忘录)

![](/data/attachment/album/202303/15/091233m62g6c6n763elx27.jpg)

> 
> **[R Markdown 备忘录.pdf 下载文档](https://itsfoss.com/content/files/2023/02/R-Markdown-Cheat-Sheet.pdf)**
> 
> 
> 

*? 你还知道其他关于 R Markdown 的内容吗?请在下面的评论区告诉我们。*

via: 

作者:[Sreenath](https://itsfoss.com/author/sreenath/) 选题:[lkxed](https://github.com/lkxed/) 译者:[lxbwolf](https://github.com/lxbwolf) 校对:[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

---
本文转载来自 Linux 中国: https://github.com/Linux-CN/archive

对这篇文章感觉如何?

太棒了
0
不错
0
爱死了
0
不太好
0
感觉很糟
0
雨落清风。心向阳

    You may also like

    Leave a reply

    您的邮箱地址不会被公开。 必填项已用 * 标注

    此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

    More in:Linux中国