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中國