返回課程
AI014 Professional

R 程式設計入門

本課程全面介紹 R 語言環境,涵蓋從基本的數值向量運算、物件屬性、陣列與矩陣處理、清單與資料框管理,到統計模型建立及高品質圖形製作的核心主題。非常適合用作統計分析與資料科學的入門教材。

4.9
30.0h
716 學習者
2 讚好
人工智能
開始學習

課程總覽

📚 內容概要

本課程是對 R 語言環境的全面介紹,涵蓋從基本數值向量操作、物件屬性、陣列/矩陣處理,到清單/資料框管理、統計建模以及高品質圖形製作等核心主題。適合作為統計分析與資料科學的入門教材。

掌握 R 語言的核心,開啟統計計算與資料視覺化的大門。

作者: R 開發核心小組

致謝: 本手冊由 R 開發核心小組維護。中文版感謝增加日本翻譯基礎的三重慎一(Shigeru MASE),以及李中平博士、李瑞博士等中文翻譯團隊的貢獻。

🎯 學習目標

  1. 初始化 R 會話,導航幫助系統,並應用基本語法規則(大小寫敏感性、賦值與註解)。
  2. 辨別並建立邏輯向量、字元向量,並妥善處理缺失值(NANaN)。
  3. 使用四種不同的索引方法來選擇、排除或修改資料的特定子集。
  4. 識別並修改 R 物件的內在屬性(模式與長度)。
  5. 利用 class()attr() 函數來管理物件的元資料與資料結構。
  6. 建立與操作因子與有序因子,以表示分類資料。
  7. 使用維度向量及 array() 函數定義與建構陣列與矩陣。
  8. 應用進階索引技術,包括使用索引矩陣來提取或修改特定元素。
  9. 執行線性代數運算,包含外積、廣義轉置與矩陣反演。
  10. 建構與修改清單:建立命名與非命名清單,並使用特定的 R 語法進行合併。

🔹 第 1 課:R 與向量基礎介紹

概述: 本課介紹 R 的基礎環境,涵蓋其基本語法、指令執行方式與幫助系統。進一步探討專門的向量類型——邏輯向量、字元向量與缺失值,並提供透過索引向量選擇與修改資料子集的詳細方法。

學習成果:

  • 初始化 R 會話,導航幫助系統,並應用基本語法規則(大小寫敏感性、賦值與註解)。
  • 辨別並建立邏輯向量、字元向量,並妥善處理缺失值(NANaN)。
  • 使用四種不同的索引方法來選擇、排除或修改資料的特定子集。

🔹 第 2 課:物件屬性與因子處理

概述: 本課探討 R 物件的基本特性,特別是其內在屬性如模式與長度,以及如何查詢或修改這些屬性。同時深入探討「因子」——一種專門用於處理分類變數的資料結構,並示範如何利用 tapply() 函數針對因子的不同水準執行分組統計分析。

學習成果:

  • 識別並修改 R 物件的內在屬性(模式與長度)。
  • 利用 class()attr() 函數來管理物件的元資料與資料結構。
  • 建立與操作因子與有序因子,以表示分類資料。

🔹 第 3 課:陣列、矩陣與線性代數

概述: 本課探討 R 在處理多維資料方面的強大功能,透過陣列與矩陣實現。學生將學習如何使用維度向量定義資料結構,執行複雜索引操作,並完成關鍵的線性代數運算——如矩陣乘法、反演與分解——這些對於統計計算與資料分析至關重要。

學習成果:

  • 使用維度向量與 array() 函數定義與建構陣列與矩陣。
  • 應用進階索引技術,包括使用索引矩陣來提取或修改特定元素。
  • 執行線性代數運算,包含外積、廣義轉置與矩陣反演。

🔹 第 4 課:資料管理:清單、資料框與 I/O

概述: 本課介紹在 R 中處理複雜資料結構與外部資料的基礎知識。重點聚焦於「清單」——可儲存不同類型元件的靈活容器——以及輸入/輸出(I/O)的實務應用,包括將外部檔案讀入清單結構、存取套件中的內建資料集,以及使用互動式編輯工具修改資料。

學習成果:

  • 建構與修改清單:建立命名與非命名清單,並使用特定的 R 語法進行合併。
  • 成分存取:區分並應用不同的索引方法([[ ]][ ]$)來取得清單資料。
  • 外部資料輸入:使用 scan() 函數將資料從外部檔案讀取至結構化清單或矩陣。

🔹 第 5 課:機率分配與統計檢定

概述: 本課提供一套完整的指南,教導如何在 R 中處理機率分配並進行統計推論。學生將學習如何運用 R 的標準前綴系統(d, p, q, r)於分配函數,產生描述性統計量,並透過經驗累積分配函數(ecdf)與 Q-Q 圖來視覺化評估資料分布。

學習成果:

  • 掌握 R 分配命名規則(前綴 d, p, q, r),並應用於常見分配如常態、T 與 F。
  • 建構與解讀視覺診斷工具,特別是經驗累積分配函數(ecdf)與分位數-分位數(Q-Q)圖,以評估分配契合度。
  • 執行並區分參數與非參數檢定,包括 Welch t 檢定、Shapiro-Wilk 正態性檢定與柯爾莫戈洛夫-史米諾夫檢定。

🔹 第 6 課:程式控制與迴圈邏輯

概述: 本課介紹控制 R 程式執行流程的基本機制。重點在於將多個表達式群組成單一單位,並利用控制敘述——包括條件分支(if-else)與各種迴圈結構(for、repeat 與 while)——自動化資料分析任務並處理複雜邏輯。

學習成果:

  • 使用大括號將多個 R 表達式合併成單一陳述。
  • 實作條件邏輯,根據邏輯條件執行特定程式碼區塊。
  • 建構迴圈,以自動化對向量與清單等資料結構的重複操作。

🔹 第 7 課:自訂函數開發與作用域

概述: 本課探討從將 R 作為互動式計算機轉變為程式語言的過程,重點在於開發自訂函數。內容涵蓋函數定義語法、參數處理、詞法作用域規則,以及透過通用函數與方法,奠定 R 的 S3 物件導向系統基礎。

學習成果:

  • 建立與呼叫自訂函數:定義具有正式參數與自訂二元運算子的函數。
  • 管理參數與作用域:區分位置與名稱參數匹配,並解釋詞法作用域如何管理區域與自由變數。
  • 實作可變狀態與自訂環境:使用閉包與超級賦值運算子,以維持狀態並透過啟動/會話函數自訂 R 環境。

🔹 第 8 課:統計模型:線性與非線性

概述: 本課探討 R 中超越簡單線性回歸的完整統計模型工具。內容包括透過通用函數提取模型資訊、利用變異數分析(ANOVA)比較模型,以及為二元與計數資料擬合廣義線性模型(GLMs),並結合非線性建模技術。

學習成果:

  • 使用通用 R 函數提取、總結與可視化擬合模型的資訊。
  • 使用 ANOVA 表格進行模型比較,並以高效語法更新既有模型。
  • 使用適當的族群與連結函數(例如:Logit、Probit、Poisson)擬合廣義線性模型(GLMs)。

🔹 第 9 課:以高階與低階圖形進行資料視覺化

概述: 本課介紹 R 的完整圖形功能,區分高階繪圖函數(創造完整圖表)與低階命令(在現有顯示上添加特定元素)。學生將學習如何操控圖形參數以精確掌握美學效果,並管理多個圖形環境。

學習成果:

  • 區分並實作高階(例如 plot()hist())與低階(例如 points()lines())圖形函數。
  • 使用永久(par())與暫時(函數層級)條件來設定與管理圖形參數。
  • 協調複雜的版面設計,包括多變數資料展示與多圖形環境。

🔹 第 10 課:套件生態系與環境設定

概述: 本課探討 R 的結構基礎,著重於套件生態系、CRAN 的角色,以及命名空間管理函數的機制。同時提供實際路徑,說明如何透過各種介面執行 R,並透過命令列參數與鍵盤快捷鍵掌握環境設定。

學習成果:

  • 理解套件、命名空間與 CRAN 倉儲系統之間的關係。
  • 執行一個完整的「範例會話」,包含資料處理、統計建模與複雜數學繪圖。
  • 使用命令列旗標與環境變數配置 R 啟動環境。