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
從文件菜單中創建一個新的 RMarkdown 文檔
之后會提示你添加一些關于文件的信息(文件的元數據),把這些填上就可以了。
用 R Markdown 語法寫出標題和其他細節
或者你可以創建一個空的文件從零開始。
RMarkdown 語法
由于它是 “加強版的 Markdown”,因此大多數語法與 Markdown 是一樣的。
它還有一些 Markdown 支持不完善的東西,比如表格、數學方程式、代碼塊等等。
下面是我們要介紹的內容的概括:
RMarkdown 塊名 | 語法 |
標題 | ? ? ? ? ? ? |
著重 | ? ? ? |
列表 | 無序列表: ? ? ? 有序列表: ? ? ? ? |
代碼塊 | 普通代碼塊: ? ? R 代碼塊: ? ? ? 你也可以用其他的語言 ? |
鏈接 | 普通鏈接:粘貼 URL 帶標題的鏈接:? |
表格 | ? ? ? |
方程式 | 行內方程式 ? |
圖片 | 無標題: ? |
引用塊 | ? |
其他 | 上角標:? ? 行尾輸入兩個以上空格,即可添加人工行分割 |
YAML 頭
在一個 R Markdown 文檔的頂部,有一個 YAML 頭,被兩行 ??---?
? 包圍。這個塊定義了文檔的最終樣式,通常包含一個標題、作者、日期和你想輸出的文件類型。
支持的文件格式有三種:HTML、PDF 和 Word。
這可以在 RStudio 中設置新文件時添加,如上節所示。
標題
在 R Markdown 中,有兩種方法指定標題。我們可以使用 ??#?
? 字符來表示不同級別的標題,比如:
也可以用 ??=?
? 和 ??-?
? 分別表示一級和二級標題。
rmarkdown 文件中不同等級的標題
列表
有兩種列表,一種是無序列表,用點句符來表示:
另一種是有序列表,用數字來排序:
有序和無序列表示例
段落中的文本格式
格式化文本有幾種方式。
你可以使用斜體或加粗來著重表示文本:
- 斜體:在文本前后各輸入一個星號或下劃線
- 加粗:在文本前后各輸入兩個星號或下劃線
?? 你可以閱讀我們的文章 ??Markdown 中怎么讓內容變成加粗和斜體?? 來了解更多內容。
如果你想使用上角標,在想變成上角標的內容前后加上 ??^?
? 符號。
如果你想對文本內容加刪除線,在文本前后加 ??~~?
? 符號。
添加代碼塊
內嵌代碼是 R Markdown 最主要的設計目的。我們有幾種添加代碼的方式。
添加普通代碼塊
如果你想添加一個代碼塊來與其他的文本進行區分,可以使用下面的語法:
你也可以嘗試 ??對添加的代碼進行高亮顯示??。
如果你想添加代碼并將其輸出嵌入到文檔中,你可以在后面加上語言,并用大括號包裹:
你可以用 ??`?
? 符號來添加行內代碼。
它看起來是這樣的:
鏈接
如果想添加普通文本鏈接,把它粘貼到行內就可以了。
添加超鏈接,使用下面的語法:
當你想鏈接到本頁內的某個錨點時,使用下面的語法:
表格
表格的語法與 Markdown 相似:
?? 還想了解更多?請閱讀我們的 ??用 Markdown 創建表格?? 指南。
圖片
添加圖片使用下面的語法:
或
塊引用
RMarkdown 可以添加塊引用。在被引用的行或段落前添加 ??>?
?(大于號)。
?? 如果你想了解更多塊引用的內容,請閱讀我們的 ??Markdown 引用?? 指南。
方程式
你可以用 RMarkdown 來添加方程式和展示復雜的 LaTex 方程式。
例如:
在 R Markdown 文檔中添加方程式
章或頁水平分割線
使用三個以上星號或減號來添加章或頁水平分割線。
你可以在行尾添加兩個以上的空格來添加人工行分割。
R Markdown 非常有用(備忘錄)
?? 你還知道其他關于 R Markdown 的內容嗎?請在下面的評論區告訴我們。