欢迎来到R语言的世界!R是一门为统计计算和图形展示而生的强大语言,是数据科学家、统计学家和分析师的必备工具。本指南旨在为初学者提供一条清晰、循序渐进的学习路径,帮助你从零开始,逐步掌握R语言的核心技能,并最终能够独立进行数据分析和可视化项目。
万事开头难,但R的入门过程非常友好。
· R: 是底层语言和计算环境。你需要先安装它。
· RStudio: 是一个强大而友好的集成开发环境(IDE),它极大地简化了R的使用。强烈推荐安装!
安装建议: 先安装R,再安装RStudio。RStudio会自动找到你安装的R。
打开RStudio后,你会看到四个主要的窗格:1. 脚本/视图区 (Source/Viewer): 左上角,用于编写和查看R代码脚本、数据表。2. 控制台 (Console): 左下角,用于直接输入和执行R命令,并查看输出结果。3. 环境/历史区 (Environment/History): 右上角,显示当前工作区中创建的所有对象(变量、数据等)。4. 文件/图形/包/帮助区 (Files/Plots/Packages/Help): 右下角,用于文件管理、查看生成的图形、管理已安装的包和查阅帮助文档。
在控制台(Console)中尝试输入你的第一行R代码:
# R可以作为一个强大的计算器1 + 15 * 2010 / 32 ^ 3 # 幂运算
使用 <- (推荐) 或 = 来给变量赋值。
x <- 10y <- "Hello, R!" # 字符串需要用引号# 查看变量内容xprint(y)
R拥有强大的帮助系统。
# 获取某个函数的帮助文档?meanhelp("mean")# 模糊搜索??plot
第二章:R的核心数据结构 (Core Data Structures)
理解R的数据结构是进行数据分析的基础。
· 向量 (Vector): 存储相同类型元素(数值、字符、逻辑值)的一维数组。
numeric_vector <- c(1, 2, 5.3, 6, -2, 4)character_vector <- c("a", "b", "c")logical_vector <- c(TRUE, FALSE, TRUE)
· 矩阵 (Matrix): 存储相同类型元素的二维数组。
m <- matrix(1:6, nrow = 2, ncol = 3)
· 列表 (List): 可以包含不同类型元素的集合,非常灵活。
my_list <- list(name = "John", age = 25, scores = c(88, 95, 100))
· 数据框 (Data Frame): R中最重要的数据结构!它像一个表格,每列可以是不同的数据类型,但每列内部类型必须一致。
df <- 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): 用于表示分类数据(例如:性别、学历)。
gender <- factor(c("Male", "Female", "Female", "Male"))
第三章:数据导入与导出 (Data Import/Export)
分析的第一步通常是读取数据。
# 假设当前工作目录下有 "my_data.csv" 文件my_data <- read.csv("my_data.csv")
需要安装并加载 readxl 包。
# 安装包 (只需一次)install.packages("readxl")# 加载包 (每次启动R会话时需要)library(readxl)# 读取Excel文件my_excel_data <- read_excel("my_data.xlsx", sheet = "Sheet1")
# 将数据框写入CSV文件write.csv(df, "output_data.csv", row.names = FALSE) # row.names=FALSE 避免写入行号
第四章:数据操作与清洗 (Data Manipulation)
dplyr 包是数据处理的瑞士军刀,属于 tidyverse 生态系统。
# 安装和加载 tidyverseinstall.packages("tidyverse")library(tidyverse)
dplyr 提供了五个核心函数,结合管道操作符 %>%,让代码清晰易读。
· select(): 按名称选择列。
select(df, Name, Score)
· filter(): 根据条件筛选行。
filter(df, Score > 90)
· arrange(): 对行进行排序。
arrange(df, desc(Score)) # 按分数降序排列
· mutate(): 创建新的列。
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: “几何对象”,你看到的图形类型(如点、线、条)。
# 假设有一个名为 `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()
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() 函数非常方便。
summary(df)
· t检验 (t-test): 比较两组均值。
t.test(Score ~Gender, data = df_gender)
· 线性回归 (Linear Regression): lm() 函数。
model <- lm(hwy ~displ, data = mpg)summary(model)
让你的代码更智能、可复用。
· 条件语句 (if-else)
if(x > 5) { print("x is large")} else { print("x is small")}
· 循环 (for)
for(i in 1:5) { print(i)}
· 编写自己的函数
my_function <- 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包。你可以用它来构建动态的数据看板。
· 推荐资源:
o 书籍:
§ R for Data Science(by Hadley Wickham & Garrett Grolemund) - 必读! 在线免费阅读
§ Advanced R(by Hadley Wickham) - 进阶读物
o 在线课程:
§ Coursera: Data Science: Foundations using R Specialization (Johns Hopkins University)
§ DataCamp: 提供大量交互式R课程
o 速查表 (Cheatsheets):
§ Posit (RStudio) Cheatsheets- 覆盖 dplyr, ggplot2 等常用包,非常实用。
祝你学习愉快,在数据的海洋中探索成功!