R Markdown 语法新手指南
创始人
2024-03-02 14:46:20
0

你可能已经了解过轻量级标记语言 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 最主要的设计目的。我们有几种添加代码的方式。

添加普通代码块

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

这里输入你的代码

你也可以尝试 对添加的代码进行高亮显示

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

```{语言}
这里输入你的代码

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

这里是 行内代码


它看起来是这样的:


![](/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/) 荣誉推出

相关内容

用AI制作“思维导图”,两...
AI是知识工作者的挖掘机,大幅提升教学与科研生产力。 ——...
2025-06-08 12:11:19
mdbook通过markd...
mdbook通过markdown制作电子书(代替gitbook) ...
2025-05-30 12:27:57
gitbook通过mark...
gitbook通过markdown制作电子书 环境:...
2025-05-30 08:22:09
不在Markdown中强制...
在Markdown中,不能直接强制使用表情符号,但可以通过使用HT...
2025-01-11 15:31:26
不需要使用v-html来显...
在Vue中,可以使用第三方库marked来解析Markdown,并...
2025-01-10 15:01:06
不希望在Beamer(使用...
要在Beamer(使用R Markdown编织)中使用Berlin...
2025-01-10 11:01:31

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...