R语言学习指南:从入门到数据科学实践
前言
欢迎来到R语言的世界!R是一门为统计计算和图形展示而生的强大语言,是数据科学家、统计学家和分析师的必备工具。本指南旨在为初学者提供一条清晰、循序渐进的学习路径,帮助你从零开始,逐步掌握R语言的核心技能,并最终能够独立进行数据分析和可视化项目。
第一章:入门基础 (Getting Started)
万事开头难,但R的入门过程非常友好。
1.1 R 和 RStudio 的介绍与安装
- R: 是底层语言和计算环境。你需要先安装它。
- RStudio: 是一个强大而友好的集成开发环境(IDE),它极大地简化了R的使用。强烈推荐安装!
安装建议: 先安装R,再安装RStudio。RStudio会自动找到你安装的R。
1.2 RStudio 界面导览
打开RStudio后,你会看到四个主要的窗格: 1. 脚本/视图区 (Source/Viewer): 左上角,用于编写和查看R代码脚本、数据表。 2. 控制台 (Console): 左下角,用于直接输入和执行R命令,并查看输出结果。 3. 环境/历史区 (Environment/History): 右上角,显示当前工作区中创建的所有对象(变量、数据等)。 4. 文件/图形/包/帮助区 (Files/Plots/Packages/Help): 右下角,用于文件管理、查看生成的图形、管理已安装的包和查阅帮助文档。
1.3 基本操作与计算
在控制台(Console)中尝试输入你的第一行R代码:
# R可以作为一个强大的计算器
1 + 1
5 * 20
10 / 3
2 ^ 3 # 幂运算
1.4 变量赋值
使用 <- (推荐) 或 = 来给变量赋值。
x <- 10
y <- "Hello, R!" # 字符串需要用引号
# 查看变量内容
x
print(y)
1.5 获取帮助
R拥有强大的帮助系统。
# 获取某个函数的帮助文档
?mean
help("mean")
# 模糊搜索
??plot
第二章:R的核心数据结构 (Core Data Structures)
理解R的数据结构是进行数据分析的基础。
- 向量 (Vector): 存储相同类型元素(数值、字符、逻辑值)的一维数组。
- <- c(1, 2, 5.3, 6, -2, 4)
character_vector <- c("a", "b", "c")
logical_vector <- c(TRUE, FALSE, TRUE)
- 矩阵 (Matrix): 存储相同类型元素的二维数组。
- <- matrix(1:6, nrow = 2, ncol = 3)
- 列表 (List): 可以包含不同类型元素的集合,非常灵活。
- <- list(name = "John", age = 25, scores = c(88, 95, 100))
- 数据框 (Data Frame): R中最重要的数据结构!它像一个表格,每列可以是不同的数据类型,但每列内部类型必须一致。
- <- data.frame(
ID = 1:3,
Name = c("Alice", "Bob", "Charlie"),
Score = c(95.5, 80.0, 92.3),
Passed = c(TRUE, TRUE, TRUE)
)
# 查看数据框
View(df)
head(df) # 查看前几行
str(df) # 查看结构
- 因子 (Factor): 用于表示分类数据(例如:性别、学历)。
- <- factor(c("Male", "Female", "Female", "Male"))
第三章:数据导入与导出 (Data Import/Export)
分析的第一步通常是读取数据。
3.1 读取 CSV 文件
# 假设当前工作目录下有 "my_data.csv" 文件
my_data <- read.csv("my_data.csv")
3.2 读取 Excel 文件
需要安装并加载 readxl 包。
# 安装包 (只需一次)
install.packages("readxl")
# 加载包 (每次启动R会话时需要)
library(readxl)
# 读取Excel文件
my_excel_data <- read_excel("my_data.xlsx", sheet = "Sheet1")
3.3 写入文件
# 将数据框写入CSV文件
write.csv(df, "output_data.csv", row.names = FALSE) # row.names=FALSE 避免写入行号
第四章:数据操作与清洗 (Data Manipulation)
dplyr 包是数据处理的瑞士军刀,属于 tidyverse 生态系统。
# 安装和加载 tidyverse
install.packages("tidyverse")
library(tidyverse)
dplyr 提供了五个核心函数,结合管道操作符 %>%,让代码清晰易读。
- select(): 按名称选择列。
- (df, Name, Score)
- filter(): 根据条件筛选行。
- (df, Score > 90)
- arrange(): 对行进行排序。
- (df, desc(Score)) # 按分数降序排列
- mutate(): 创建新的列。
- (df, Score_double = Score * 2)
- summarise() 与 group_by(): 分组汇总。
- 计算每个性别的平均分
df_gender %>%
group_by(Gender) %>%
summarise(avg_score = mean(Score))
第五章:数据可视化 (Data Visualization)
ggplot2 包是R中最强大、最灵活的可视化工具,同样属于 tidyverse。
5.1 图形语法 (Grammar of Graphics)
ggplot2 的核心思想是将图形拆分为几个基本部分: - Data: 数据集。 - Aesthetics: “美学”,将数据变量映射到图形属性(如x/y坐标、颜色、大小)。 - Geometries: “几何对象”,你看到的图形类型(如点、线、条)。
5.2 常用图形
# 假设有一个名为 `mpg` 的内置数据集
# 1. 散点图 (Scatter Plot)
ggplot(data = mpg, aes(x = displ, y = hwy)) +
geom_point()
# 2. 条形图 (Bar Plot)
ggplot(data = mpg, aes(x = class)) +
geom_bar()
# 3. 箱线图 (Boxplot)
ggplot(data = mpg, aes(x = class, y = hwy)) +
geom_boxplot()
5.3 自定义图形
ggplot(data = mpg, aes(x = displ, y = hwy, color = class)) +
geom_point() +
labs(
title = "Engine Displacement vs. Highway MPG",
x = "Engine Displacement (Liters)",
y = "Highway Miles Per Gallon",
color = "Car Class"
) +
theme_minimal()
第六章:基础统计分析
R的强项在于其丰富的统计功能。
- 描述性统计: summary() 函数非常方便。
- (df)
- t检验 (t-test): 比较两组均值。
- (Score ~ Gender, data = df_gender)
- 线性回归 (Linear Regression): lm() 函数。
- <- lm(hwy ~ displ, data = mpg)
summary(model)
第七章:流程控制与函数
让你的代码更智能、可复用。
- 条件语句 (if-else)
- (x > 5) {
print("x is large")
} else {
print("x is small")
}
- 循环 (for)
- (i in 1:5) {
print(i)
}
- 编写自己的函数
- <- function(a, b) {
result <- a + b
return(result)
}
# 调用函数
my_function(5, 3)
专业R语言辅导 | Python编程 | 数据分析 Data analysis | 统计分析 Statistics | 数据挖掘 Data mining | 机器学习 Machine learning | |统计分析 Statistics|STATS 202|STATS 203|STAT 110|STAT 104|STAT 705|STAT 707|STAT4203|STAT4204|STAT4205|STAT4206|STAT 133|STAT 134|STAT 101A|STAT 100A|STAT 581|STAT 520|STAT 521|STAT 4500|STAT 5805|STAT 5806|STAT 4600|STAT30001|STAT3001|STAT3002|STAT3003|STAT3004|STAT3005|STAT3006|STAT5001|STAT5002|STAT5003|STAT5004| http://www.rdaizuo.com http://www.daixie.it.com http://www.rcodedaixie.com http://www.rdaima.com
第八章:进阶之路与学习资源
- R Markdown: 将代码、图形和文本无缝集成到一份报告中(.Rmd文件),可以输出为HTML、PDF、Word等格式。这是数据分析报告的利器!
- Shiny: 创建交互式Web应用的R包。你可以用它来构建动态的数据看板。
- 推荐资源:
- 书籍:
- R for Data Science (by Hadley Wickham & Garrett Grolemund) - 必读! 在线免费阅读
- Advanced R (by Hadley Wickham) - 进阶读物
- 在线课程:
- Coursera: Data Science: Foundations using R Specialization (Johns Hopkins University)
- DataCamp: 提供大量交互式R课程
- 速查表 (Cheatsheets):
- Posit (RStudio) Cheatsheets - 覆盖 dplyr, ggplot2 等常用包,非常实用。
- 书籍:
祝你学习愉快,在数据的海洋中探索成功!

被折叠的 条评论
为什么被折叠?



