📚 今日目標
- 瞭解R語言的基本概念和優勢
- 安裝R和RStudio
- 學習R基礎語法和數據結構
- 完成第一個簡單的數據分析
🛠️ 第一部分:環境搭建
1.1 安裝R
- 訪問R官網
- 選擇CRAN鏡像下載
- 安裝適合你操作系統的版本
1.2 安裝RStudio
- 訪問RStudio官網
- 下載免費的RStudio Desktop版本
- 安裝並啓動
1.3 界面熟悉
# 控制枱(Console):直接執行代碼
# 腳本編輯器(Script):編寫和保存代碼
# 環境(Environment):查看當前變量
# 文件/圖表/幫助窗口
📝 第二部分:基礎語法
2.1 第一個R程序
# 在控制枱輸入
print("Hello, R World!")
# 或者直接輸入
"Hello, R World!"
2.2 基本運算
# 算術運算
5 + 3 # 加法
10 - 4 # 減法
6 * 7 # 乘法
15 / 3 # 除法
2 ^ 3 # 冪運算
9 %% 4 # 取餘
9 %/% 4 # 整除
# 比較運算
5 > 3 # 大於
5 == 5 # 等於
5 != 3 # 不等於
2.3 變量賦值
# 使用 <- 賦值
x <- 10
y <- 5
# 使用 = 賦值(較少用)
z = 20
# 查看變量
x
print(x)
# 查看所有變量
ls()
# 刪除變量
rm(x)
🧮 第三部分:數據類型
3.1 基本數據類型
# 數值型
num <- 3.14
class(num) # 查看類型
# 字符型
char <- "Hello R"
class(char)
# 邏輯型
bool <- TRUE
bool2 <- FALSE
class(bool)
# 因子型(用於分類數據)
gender <- factor(c("Male", "Female", "Male"))
gender
3.2 基本數據結構
# 向量 - 最基本的數據結構
vec <- c(1, 2, 3, 4, 5) # 數值向量
char_vec <- c("a", "b", "c") # 字符向量
logic_vec <- c(TRUE, FALSE, TRUE) # 邏輯向量
# 向量操作
length(vec) # 長度
vec[1] # 索引(注意:R索引從1開始!)
vec[2:4] # 切片
vec[vec > 2] # 條件篩選
# 矩陣
mat <- matrix(1:9, nrow = 3, ncol = 3)
mat
dim(mat) # 維度
# 數據框 - 最常用的數據結構
df <- data.frame(
name = c("Alice", "Bob", "Charlie"),
age = c(25, 30, 35),
score = c(85, 92, 78)
)
df
View(df) # 表格形式查看
📊 第四部分:簡單數據分析實踐
4.1 創建示例數據
# 創建學生成績數據框
students <- data.frame(
student_id = 1:10,
name = c("張明", "李華", "王芳", "趙強", "劉洋",
"陳靜", "楊光", "周婷", "吳磊", "鄭潔"),
math = c(85, 92, 78, 88, 95, 67, 73, 89, 94, 81),
english = c(88, 85, 92, 79, 83, 90, 86, 77, 91, 84),
science = c(90, 87, 83, 91, 89, 76, 84, 92, 88, 79)
)
# 查看數據結構
str(students) # 結構
summary(students) # 統計摘要
head(students, 3) # 前3行
4.2 基本數據分析
# 計算平均分
students$average <- (students$math + students$english + students$science) / 3
# 查看平均分最高的學生
students[which.max(students$average), ]
# 計算各科平均分
colMeans(students[, c("math", "english", "science")])
# 添加總分列
students$total <- students$math + students$english + students$science
# 按總分排序
sorted_students <- students[order(-students$total), ]
head(sorted_students)
📈 第五部分:簡單可視化
5.1 基礎繪圖
# 散點圖:數學 vs 英語成績
plot(students$math, students$english,
main = "數學與英語成績關係",
xlab = "數學成績",
ylab = "英語成績",
col = "blue",
pch = 19) # 實心圓點
# 直方圖:數學成績分佈
hist(students$math,
main = "數學成績分佈",
xlab = "分數",
ylab = "頻數",
col = "lightblue",
border = "black")
# 箱線圖:各科成績比較
boxplot(students[, c("math", "english", "science")],
main = "各科成績分佈",
ylab = "分數",
col = c("lightblue", "lightgreen", "lightyellow"))
💻 今日練習
練習1:基礎操作
# 1. 創建向量v,包含1到20的偶數
# 2. 計算這個向量的平均值、總和、長度
# 3. 找出大於10的元素
練習2:數據框操作
# 使用內置數據集mtcars
# 1. 查看mtcars的前5行
# 2. 查看數據維度
# 3. 計算mpg(每加侖里程)的平均值
# 4. 找出mpg最高的車型
練習3:簡單分析
# 創建自己的小型數據集(如:每月支出)
# 1. 創建包含月份和支出兩列的數據框
# 2. 計算平均月支出
# 3. 找出支出最高的月份
# 4. 繪製支出折線圖
📌 今日總結
重點掌握:
- ✓ R和RStudio的安裝
- ✓ 基本語法和運算
- ✓ 四種基本數據類型
- ✓ 向量和數據框的使用
- ✓ 簡單的數據分析和可視化
常見問題:
- R索引從1開始,不是0!
- 賦值使用 <-,不是 =
- 函數調用使用括號,如 mean(x)
- 查看幫助:?函數名 或 help(函數名)
🎯 明日預告
第二天:數據導入導出與數據清洗
- 讀取CSV、Excel文件
- 數據處理:篩選、排序、合併
- 處理缺失值
- 數據轉換
學習建議:
- 所有代碼都要親手敲一遍,不要複製粘貼
- 遇到錯誤不要慌,仔細閲讀錯誤信息
- 使用?查看函數幫助文檔
- 保存今天的代碼腳本(File → Save As → day1.R)
有問題隨時記錄,明天我們繼續深入學習!💪