自訂樣式

  • RStudio 預設有 4 個區塊 (Pane)。你可以自行決定這 4 個區塊的位置
    • Tools –> Global Options... –> (在左欄選擇) Pane Layout
    • Source, Console, 及 2 個自訂區塊
  • 除了區塊的相對位置,也可以設定 RStudio 整體的風格以及程式碼 Syntax Highlighting 的樣式:
    • Tools –> Global Options... –> (在左欄選擇) Appearance

編輯器設定

  • Source Pane 是撰寫程式碼的地方 (文字編輯器)
    • 縮排間距:建議使用 space (而非 tab) 作為縮排字元

      • Tools –> Global Options... –> (在左欄選擇) Code –> (在上方選擇) Editing –> 勾選 Insert spaces for tab
    • 文字編碼:由於中文字在各作業系統上會有編碼不一致的問題,請務必將編碼設定為 UTF-8

      • Tools –> Global Options... –> (在左欄選擇) Code –> (在上方選擇) Saving –> Default text encoding

工作目錄 (Working Directory, a.k.a. Current Directory)

  • 打開 RStudio 的第一步就是要設置「工作目錄」的位置。「工作目錄」是當前 R 語言「工作」的資料夾。亦即,若 R 執行時需要讀取外部檔案,或是執行後產出檔案,都會以這個資料夾為準。例如,只要將外部資料 (foo.txt) 放在「工作目錄」內,R 就可以直接使用這個資料的檔名當作路徑去存取這個檔案 (i.e. 可使用相對路徑,之後課程會詳細介紹)。

  • RStudio 所在的「工作目錄」顯示於 Console Pane 的標籤下方 (e.g. ~/)

  • 工作目錄的設置方式
    • RStudio 功能選單

      Sessions –> Set Working Directory...

    • Console
      • Console 是執行 R 語言的地方,我們可以透過 R 的指令去設置「工作目錄」

      • 在 Windows 電腦上,檔案路徑分隔符號使用的是反斜線 (\)1。在 R 裡面,檔案路徑使用的是斜線 (/)2,而反斜線有其它意義。
        • 在 Windows 電腦上使用 R 時,
          1. 可使用 2 個反斜線 (\\) 作為檔案路徑分隔 (e.g. C:\\Users\\Desktop) (直接複製貼上 Windows 的檔案路徑會無效)
          2. 或使用 R 預設的 1 個斜線 (/) (e.g. C:/Users/Desktop)
  • 測試:

R Console

  • Console 是 RStudio 裡面用來和 R 語言溝通的界面,換言之,就是使用者輸入與執行 R 語言的地方
#> [1] 1
#>  [1] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
#> [26] 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
  • 輸入指令後,會在 Console 印出 [<num>] <value(s)>
    • <value(s)> 是指令所傳回來的數值 (可有一個以上),e.g. 1 or 1 2 3 4
    • [<num>] 則是一個指標 (位於每橫列的開頭),用來指示其右邊第一個值在所有的值之中的排序,e.g. [1] 11 12 13 代表 11 是第 1 個數值、12 是第 2 個數值;若第一行不足以印出所有的值,則會接著印出第二行: 例如 [16] 26 27 28 代表 26 是第 16 個。
  • 一些簡單的 R 指令

    #> [1] 10
    #> [1] 14
    #> [1] 1.5
    #> [1] 9

變數與回傳值

  • 要將 R 執行的結果儲存起來,需要使用 <- (assignment operator) 指派變數 ,將 <- 右邊的程式碼執行後所回傳的數值儲存於 <- 左邊的變數
#> [1] 10
#> [1] 1

R 內建函數

  • R 裡面的函數就像是我們國高中數學課學到的「函數」。
    • R 的函數 (通常) 會有一個或多個「輸入值」,稱為「引數 (argument)」;並且在運算完成後,一定會丟出一個「回傳值」
  • sqrt() 是一個函數,它會將輸入值 (在圓括號內) 開根號後回傳

  • 函數裡面可以放入另一個函數 (e.g. sqrt(sqrt(16))),其運算的次序是由內而外,先執行最內部的函數,取得回傳值後,再將此回傳值作為外面的函數的輸入值

#> [1] 4
#> [1] 2
#> [1] 2

R Script

  • 在 R Console 輸入的指令關掉 RStudio 就會不見。如果想將這些指令存下來,需要將這些指令儲存於純文字的檔案內。

  • 在 RStudio 新增 R script:File --> New File --> R Script

  • 一般習慣將儲存 R 指令純文字檔的副檔名命名為 .R

  • 使用快捷鍵 (Ctrl + Enter) 或按 Script 右上角的 Run,以在 R Console 執行 R Script 中被反白的程式碼

說明文件 (R Help Page)

  • 不確定如何使用函數時,可以閱讀該函數的說明文件:

  • 說明文件結構
    • Description: 簡短描述函數功能
    • Usage: 如何呼叫函數 (有哪些 Arguments)
    • Arguments: 每個 Argument 的意義
    • Details: 關於函數的詳細描述
    • Value: 函數會丟出什麼? (回傳值)
    • Examples: 可直接複製貼上 到 R Console 直接執行的函數使用範例

    建議閱讀步驟:Description > Usage > Arguments > Value > Examples > Details

作業說明:R Markdown 使用

  • 使用前需先安裝 rmarkdown:

  • R Markdown (.Rmd) 就像上週同學用來寫自我介紹的 Markdown 文件 (.md) 一樣是一種純文字格式。撰寫 R Markdown 的語法事實上是 Markdown 的一種擴充: 它新增了一些特殊的語法,讓使用者可以直接在 R Markdown 裡面撰寫程式碼,並透過 R 將這些程式碼的運算結果插入 R Markdown 的輸出文件當中。

  • knitr Code Chunk
    • 執行:由上至下執行
    • 後面的 chunk 可以讀取之前的 chunks 產生的變數

(在 RStudio 使用 R Markdown)

  • 使用 RStudio 開啟 R Markdown (.Rmd) 時,Rmd 檔會出現在 Source Pane 讓使用者編輯

  • 將 R Markdown (.Rmd) 輸出 (knit )成 HTML 檔 (.html):

R Markdown document in RStudio.

R Markdown document in RStudio.

配合課本


  1. 「反斜線鍵」位置位於 Enter 鍵上方。

  2. 「斜線鍵」與「問號鍵」為同個按鍵。