本部分預計時間:40 分鐘
如果你已經有基礎,可以直接複製這段給 AI,一次完成本章所有內容:
我完全沒學過 R 語言,請幫我完成以下任務:
- 給我一段最簡單的 R 程式碼,畫出一個有 5 根柱子的長條圖,高度分別是 10、25、15、30、20,用內建套件即可
- 用「教小學生」的方式解釋這段程式碼,什麼是變數、函數、參數
- 解釋 R 的「套件」是什麼(用手機 App 比喻),以及
library() 在做什麼
- 給我用 pak 安裝以下套件的程式碼:ggplot2、dplyr、gtsummary、skimr、ggsci、patchwork,安裝完後怎麼載入
每一步都給我可以直接複製貼上執行的程式碼,並加上中文註解。
環境設定
在開始之前,請選擇你的開發環境:
路線 A — 最簡單(推薦初學者): 使用 Posit.cloud,完全不需安裝任何軟體,打開瀏覽器即可開始。
路線 B — 本機安裝: 安裝以下工具:
這堂課的玩法
- 我給你一個「任務」
- 你把任務描述貼給 AI(ChatGPT / Claude / Gemini)
- AI 給你程式碼
- 你貼到 Posit.cloud / Positron 執行
- 我們一起看結果、理解發生了什麼
你的工作是「問對問題」,不是「寫對程式」。
任務 1:你的第一個程式
📋 複製這段話,貼給 AI:
我完全沒學過 R 語言。請給我一段最簡單的 R 程式碼,用內建的套件,讓我可以畫出一個有 5 根柱子的長條圖,每根柱子的高度分別是 10、25、15、30、20。請給我可以直接複製貼上執行的程式碼。請用英文標示所有 label。
範例程式碼
下面的程式碼是一種可能的答案。你的 AI 可能會給你不同的版本 — 這完全正常!只要你看到一張長條圖,就算成功。
# 建立資料
heights <- c(10, 25, 15, 30, 20)
categories <- c("A", "B", "C", "D", "E")
# 畫長條圖(字型已由 _common.R 全域設定)
par(family = "noto-sans-tc")
barplot(
heights,
names.arg = categories,
main = "我的第一個 R 圖表",
xlab = "類別",
ylab = "高度",
col = "steelblue"
)
⏱️ 3 分鐘後,你應該會看到一張圖。
任務 2:發生了什麼事?
📋 複製這段話,貼給 AI:
請用「教小學生」的方式,解釋你剛剛給我的那段 R 程式碼。每一行在做什麼?什麼是「變數」?什麼是「函數」?
程式碼解釋
- 變數:就像一個盒子,可以裝東西。
heights 裝了 5 個數字。
- 函數:就像一個機器,你給它材料,它產出結果。
barplot() 就是畫圖的機器。
- 參數:就像機器的設定,告訴機器怎麼運作。
任務 3:當程式出錯時
📋 如果剛剛有錯誤訊息,複製錯誤訊息,加上這段話貼給 AI:
我在 R 裡面執行你給的程式碼,出現這個錯誤: 【貼上錯誤訊息】 請告訴我這是什麼意思,以及怎麼修正。
常見錯誤範例
# 這會產生錯誤(故意的)
barplot(height) # 變數名稱打錯了
🎯 記住:錯誤訊息是線索,不是你的錯。
任務 4:認識套件
📋 複製這段話,貼給 AI:
R 語言裡面的「套件」(package) 是什麼?可以用「手機 App」來比喻嗎?另外,library() 這個指令是在做什麼?
套件說明
- 套件 = 手機 App:提供額外功能
- 安裝套件 = 下載 App:
install.packages("套件名稱")
- 載入套件 = 開啟 App:
library(套件名稱)
任務 5:安裝我們需要的工具
📋 複製這段話,貼給 AI:
我要在 R 裡面使用 ggplot2、dplyr、gtsummary、skimr、ggsci 這些套件。請給我安裝這些套件的程式碼,以及安裝完之後怎麼載入它們。先裝 pak 這個套件,之後用它來安裝其他套件。
安裝與載入套件
如果現場安裝太慢,請使用 Posit.cloud(大多數套件已預裝),或在上課前執行 source("install.r") 預先安裝。
只裝課程前半段(Part 1-4)需要的套件,其餘稍後再裝:
# 先安裝 pak(更快的套件管理器,支援平行下載)
install.packages("pak")
# 課程核心套件(約 2 分鐘)
pak::pak(c(
"ggplot2", # 畫圖
"dplyr", # 資料處理
"gtsummary", # Table 1
"skimr", # 資料摘要
"ggsci", # 期刊配色
"patchwork" # 多圖組合
))
一次裝好所有套件。建議在上課前一天跑完:
# 先安裝 pak(更快的套件管理器,支援平行下載)
install.packages("pak")
# 或直接執行: source("install.r")
pak::pak(c(
# === 核心(Part 1-4)===
"ggplot2", # 畫圖
"dplyr", # 資料處理
"gtsummary", # Table 1
"skimr", # 資料摘要
"ggsci", # 期刊配色(JAMA 等)
"patchwork", # 多圖組合
# === 中文字型 ===
"showtext", # 中文字型渲染
"sysfonts", # 字型管理
# === 統計檢定(Part 5)===
"broom", # 整理統計結果
"effsize", # 效應量(Cohen's d)
"car", # Levene's test(⚠️ 安裝較慢,會拉 lme4)
"survival", # 存活分析
"ggsurvfit", # 存活曲線
# === 匯出(Part 6)===
"flextable", # 表格格式化
"officer", # Word / PPT 匯出
"report", # 文字報告
"svglite", # SVG 向量圖
# === 圖形裝置 ===
"ragg" # 高品質 PNG(⚠️ 需編譯,可跳過)
))
# 載入套件(每次使用前都要執行)
library(ggplot2)
library(dplyr)
library(gtsummary)
library(skimr)
# 載入中文字型(本專案已在 _common.R 統一設定)
# 如需手動設定,可使用:
# library(showtext)
# library(sysfonts)
# font_add_google("Noto Sans TC", "noto-sans-tc")
# showtext_auto()
⏱️ 快速版約 2 分鐘,完整版約 5-8 分鐘。
- Mac 出現 Xcode 錯誤:在終端機執行
xcode-select --install
car 安裝超過 3 分鐘:正常,它會編譯 lme4 的 C++ 程式碼。可先跳過,Part 5 才需要
ragg 安裝失敗:可跳過。改用預設的 PNG 裝置(圖片品質稍低但功能相同)
- Posit.cloud 上安裝失敗:大多數套件已預裝,試試直接
library(套件名) 看看
支線任務:環境管理
📋 複製這段話,貼給 AI:
有人要我在 R 裡面使用 renv 套件?他有何居心?
說明
renv1 是 R 的套件版本管理工具,可以:
- 記錄專案使用的套件版本
- 確保分析結果的可重現性
- 讓其他人能復現相同的環境
小技巧:先請 AI 學一下套件怎麼用
在使用新套件之前,可以請 AI 先查閱官方文件:
- CRAN (cran.r-project.org): R 套件官方總倉庫
- Bioconductor (bioconductor.org): 生物資訊學專用套件庫
- Tidyverse (tidyverse.org): 資料科學核心套件群
- rOpenSci (ropensci.org): 經同儕審查的科學研究套件
- R-universe (r-universe.dev): 新一代套件搜尋整合平台
📋 複製這段話,貼給 AI(把 [套件名稱] 換成你要用的套件):
請先查閱 [套件名稱] 的官方文件(CRAN 頁面),瞭解一下這個套件的主要功能和用法,然後用簡單的例子教我怎麼使用。