R 学习路径:从安装到统计建模的阅读顺序
R 语言共 24 篇文章,分五个阶段。阶段之间有依赖:tidyverse 的数据操作建立在对向量和数据框的理解之上,统计建模又建立在数据整理之上。按顺序读完一遍约需 6 到 8 周,每周投入 5 小时左右。
如果只想解决问题,不必按顺序读。每篇文章都自成一体,代码复制到 RStudio 即可运行。
| 阶段 | 内容 | 篇数 | 读完能做什么 |
|---|---|---|---|
| 一 | R 基础 | 5 | 装好环境,理解向量与数据框,会写函数和控制流 |
| 二 | tidyverse 数据操作 | 6 | 把原始数据整理成可以直接建模或画图的样子 |
| 三 | ggplot2 可视化 | 5 | 画出能放进论文的图 |
| 四 | 统计建模 | 5 | 跑回归、方差分析与混合模型,读懂输出 |
| 五 | 报告与可重复研究 | 4 | 把分析和图表组织成可重复生成的报告 |
阶段一:R 基础
Section titled “阶段一:R 基础”先装环境,再理解 R 的数据结构。R 里没有标量,1 是长度为 1 的向量,这一条想通了后面会顺很多。
| 顺序 | 文章 | 前置 |
|---|---|---|
| 1 | 数据类型:向量、因子、矩阵与列表 | 安装 |
| 2 | 数据框操作入门 | 数据类型 |
| 3 | 条件判断与循环 | 数据类型 |
| 4 | 函数定义与作用域 | 条件判断与循环 |
第 1 篇和第 2 篇是重点。索引从 1 开始、[ 与 [[ 的区别、因子的 levels 陷阱,这三个点会在后面每一篇文章里反复出现。
阶段二:tidyverse 数据操作
Section titled “阶段二:tidyverse 数据操作”从这一阶段开始,日常数据操作的主力从 base R 转向 tidyverse。阶段一的数据框操作仍然有效,但 dplyr 的写法更易读,也更容易组合。
| 顺序 | 文章 | 前置 |
|---|---|---|
| 5 | dplyr 核心动词 | 数据框操作入门 |
| 6 | 分组聚合 group_by 与 summarise | dplyr 核心动词 |
| 7 | tidyr 数据重塑 | 分组聚合 |
| 8 | 数据框连接 | dplyr 核心动词 |
| 9 | stringr 字符串处理 | dplyr 核心动词 |
| 10 | purrr 函数式编程 | 分组聚合、函数定义与作用域 |
第 5、6 篇是使用频率最高的两篇,值得读到能默写。第 7、8 篇解决「一张表不够用」的问题:要么形状不对(重塑),要么信息分散在多张表里(连接)。第 10 篇难度明显高于前五篇,可以先跳过,等遇到「对每个分组分别建模」的需求再回来。
阶段三:ggplot2 可视化
Section titled “阶段三:ggplot2 可视化”| 顺序 | 文章 | 前置 |
|---|---|---|
| 11 | ggplot2 图形语法入门 | tidyr 数据重塑 |
| 12 | 常用几何对象 | 图形语法入门 |
| 13 | 分面与多图布局 | 常用几何对象 |
| 14 | 主题定制与出版级图表 | 常用几何对象 |
| 15 | 交互式图表入门 | 主题定制 |
第 11 篇讲的是映射(mapping)与标度(scale)的分工,这是 ggplot2 与其它绘图系统最大的区别,值得多花时间。第 12 到 14 篇可以按需读:先会画,再会调。第 15 篇面向网页展示,写论文用不到。
绘图前通常需要先把数据整理成长表,这就是阶段二第 7 篇的用途。
阶段四:统计建模
Section titled “阶段四:统计建模”这一阶段回到 base R。lm、glm、aov 都不属于 tidyverse,语法风格与前三阶段不同。
| 顺序 | 文章 | 前置 |
|---|---|---|
| 16 | 描述性统计与假设检验 | 数据框操作入门 |
| 17 | 线性回归 | 描述性统计 |
| 18 | 逻辑回归 | 线性回归 |
| 19 | 方差分析 | 线性回归 |
| 20 | 混合效应模型入门 | 线性回归、方差分析 |
第 17 篇的核心是读懂 summary() 的输出,而不是记住函数名。第 18、19 篇都建立在第 17 篇之上,可以按研究方向二选一。第 20 篇处理重复测量和嵌套数据,心理学、教育学、生态学的研究生用到的概率较高。
阶段五:报告与可重复研究
Section titled “阶段五:报告与可重复研究”| 顺序 | 文章 | 前置 |
|---|---|---|
| 21 | R Markdown 入门 | 常用几何对象 |
| 22 | Quarto 报告生成 | R Markdown 入门 |
| 23 | 表格生成 | R Markdown 入门 |
| 24 | 可重复研究与项目组织 | 全部 |
第 21 篇让分析结果和文字写在同一个文件里,改数据不用手动更新图。第 24 篇的内容在写毕业论文时会用到:目录结构、相对路径、包版本锁定。
已有基础时怎么跳
Section titled “已有基础时怎么跳”- 用过 SPSS,没写过代码:从阶段一第 1 篇开始,阶段四可以直接跳到第 17 篇。
- 用过 Python 的 pandas:阶段一第 2 篇和第 8 篇快速过一遍,重点看两边的索引规则差异,然后进阶段三。
- 只想画图:阶段二的第 5、7 篇加阶段三。
- 只想跑统计:阶段一第 2 篇加阶段四。
与 Python 语言的关系
Section titled “与 Python 语言的关系”本站的 Python 语言与 R 语言内容对等,同样五个阶段。两种语言没有主次优劣之分,选哪个语言取决于导师要求、课题组惯例和合作者的工具链。
需要同时使用时,两边的章节结构一一对应,可以对照阅读:数据操作见 Pandas 数据操作,可视化见 Matplotlib 基础,统计建模见 statsmodels 线性回归。Python 语言的完整顺序见 Python 学习路径。