R语言学习指南:从入门到数据科学实践

R语言学习指南:从入门到数据科学实践

前言

欢迎来到R语言的世界!R是一门为统计计算和图形展示而生的强大语言,是数据科学家、统计学家和分析师的必备工具。本指南旨在为初学者提供一条清晰、循序渐进的学习路径,帮助你从零开始,逐步掌握R语言的核心技能,并最终能够独立进行数据分析和可视化项目。

第一章:入门基础 (Getting Started)

万事开头难,但R的入门过程非常友好。

1.1 R 和RStudio 的介绍与安装

· R: 是底层语言和计算环境。你需要先安装它。

下载R for Windows

下载R for macOS

· RStudio: 是一个强大而友好的集成开发环境(IDE),它极大地简化了R的使用。强烈推荐安装!

下载RStudio Desktop (Free)

安装建议: 先安装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可以作为一个强大的计算器+ 15 * 2010 / 32 ^ 3  # 幂运算

1.4 变量赋值

使用 <- (推荐) 或 = 来给变量赋值。

x <- 10y <- "Hello, R!" # 字符串需要用引号# 查看变量内容xprint(y)

1.5 获取帮助

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)

分析的第一步通常是读取数据。

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 生态系统。

# 安装和加载 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: “几何对象”,你看到的图形类型(如点、线、条)。

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() 函数非常方便。

 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包。你可以用它来构建动态的数据看板。

· 推荐资源:

书籍:

§ 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 等常用包,非常实用。

祝你学习愉快,在数据的海洋中探索成功!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容