返回课程
AI014 Professional

R编程入门

本课程全面介绍R语言环境,涵盖从基本的数值向量操作、对象属性、数组和矩阵处理、列表与数据框管理,到统计建模和高质量图形制作的核心内容。它非常适合作为统计分析和数据科学的入门教材。

4.9
30.0h
716 名学生
2 点赞
人工智能
开始学习

课程概述

📚 内容概要

本课程是 R 语言环境的全面入门教程,涵盖从基础数值向量操作、对象属性、数组/矩阵处理,到列表/数据框管理、统计建模以及高质量图形制作的核心主题。适合作为统计分析与数据科学的入门教材。

掌握 R 语言的核心知识,开启统计计算与数据可视化的大门。

作者: R 开发核心小组

致谢: 本手册由 R 开发核心小组维护。中文版感谢末泽信一(Shigeru MASE)的日文翻译基础,以及李志鹏博士、李瑞等中文翻译团队的贡献。

🎯 学习目标

  1. 启动 R 会话,导航帮助系统,并应用基本语法规则(大小写敏感性、赋值和注释)。
  2. 区分并创建逻辑向量、字符向量,以及处理缺失值(NANaN)。
  3. 使用四种不同的索引方法来选择、排除或修改特定的数据子集。
  4. 识别并修改 R 对象的内在属性(模式和长度)。
  5. 使用 class()attr() 函数来管理对象元数据和数据结构。
  6. 创建并操作因子和有序因子,以表示分类数据。
  7. 使用维度向量和 array() 函数定义并构造数组和矩阵。
  8. 应用高级索引技术,包括使用索引矩阵提取或修改特定元素。
  9. 执行线性代数运算,包括外积、广义转置和矩阵求逆。
  10. 构建与修改列表:创建命名和非命名列表,并使用特定的 R 语法进行合并。

🔹 第 1 课:R 入门与向量基础

概述: 本课介绍 R 的基础环境,涵盖其基本语法、命令执行方式及帮助系统。同时深入探讨特殊向量类型——逻辑型、字符型和缺失值,并提供通过索引向量选择和修改数据子集的详细方法。

学习成果:

  • 启动 R 会话,导航帮助系统,并应用基本语法规则(大小写敏感性、赋值和注释)。
  • 区分并创建逻辑向量、字符向量,以及处理缺失值(NANaN)。
  • 使用四种不同的索引方法来选择、排除或修改特定的数据子集。

🔹 第 2 课:对象属性与因子处理

概述: 本课讲解 R 对象的基本属性,特别是其内在属性如模式和长度,以及如何查询或修改这些属性。同时探讨“因子”这一专用于处理分类变量的数据结构,并演示如何使用 tapply() 函数在因子的不同水平上执行分组统计分析。

学习成果:

  • 识别并修改 R 对象的内在属性(模式和长度)。
  • 使用 class()attr() 函数来管理对象元数据和数据结构。
  • 创建并操作因子和有序因子,以表示分类数据。

🔹 第 3 课:数组、矩阵与线性代数

概述: 本课探索 R 在处理多维数据方面的强大能力,通过数组和矩阵实现。学生将学习如何使用维度向量定义数据结构,执行复杂的索引操作,并完成关键的线性代数运算——如矩阵乘法、求逆和分解——这些对于统计计算和数据分析至关重要。

学习成果:

  • 使用维度向量和 array() 函数定义并构造数组和矩阵。
  • 应用高级索引技术,包括使用索引矩阵提取或修改特定元素。
  • 执行线性代数运算,包括外积、广义转置和矩阵求逆。

🔹 第 4 课:数据管理:列表、数据框与输入输出

概述: 本课介绍在 R 中处理复杂数据结构和外部数据的基础知识。重点讲解列表——一种可容纳不同类型组件的灵活容器——以及输入/输出(I/O)的实际操作,包括将外部文件读入列表结构、访问包中的内置数据集,以及使用交互式编辑工具修改数据。

学习成果:

  • 构建与修改列表:创建命名和非命名列表,并使用特定的 R 语法进行合并。
  • 成分访问:区分并应用不同的索引方法([[ ]][ ]$)以获取列表数据。
  • 外部数据输入:使用 scan() 函数将外部文件中的数据读取为结构化列表或矩阵。

🔹 第 5 课:概率分布与统计检验

概述: 本课全面介绍如何在 R 中处理概率分布并进行统计推断。学生将学习使用 R 标准化的前缀系统(d, p, q, r)调用分布函数,生成描述性统计量,并通过经验累积分布函数(ecdf)和 Q-Q 图对数据进行可视化评估。

学习成果:

  • 掌握 R 分布命名规则(前缀 d, p, q, r),并应用于正态、t 和 F 等标准分布。
  • 构建并解释视觉诊断工具,特别是经验累积分布函数(ecdf)和分位数-分位数(Q-Q)图,以评估分布拟合程度。
  • 执行并区分参数检验与非参数检验,包括 Welch t 检验、Shapiro-Wilk 正态性检验和 Kolmogorov-Smirnov 检验。

🔹 第 6 课:程序控制与迭代逻辑

概述: 本课介绍控制 R 程序执行流程的基本机制。重点在于将多个表达式组合成单一单元,并利用控制语句——包括条件分支(if-else)和各种循环结构(for、repeat、while)——自动化数据分析任务并处理复杂逻辑。

学习成果:

  • 使用大括号将多个 R 表达式组合成一条语句。
  • 实现条件逻辑,根据逻辑条件执行特定代码块。
  • 构造迭代循环,自动对向量和列表等数据结构执行重复操作。

🔹 第 7 课:自定义函数开发与作用域

概述: 本课探讨从将 R 当作交互式计算器过渡到将其作为编程语言使用的转变,重点在于开发自定义函数。内容涵盖函数定义语法、参数处理、词法作用域规则,以及通过泛型函数和方法初步理解 R 的 S3 面向对象系统。

学习成果:

  • 创建并调用自定义函数:定义带有形式参数和自定义二元运算符的函数。
  • 管理参数与作用域:区分位置匹配与关键字匹配,并解释词法作用域如何管理局部变量与自由变量。
  • 实现可变状态与自定义环境:使用闭包和超赋值运算符(<<-)维持状态,并通过启动/会话函数自定义 R 环境。

🔹 第 8 课:统计建模:线性与非线性模型

概述: 本课深入探讨 R 中超越简单线性回归的完整统计建模工具集。涵盖通过泛型函数提取模型信息、使用 ANOVA 比较模型,以及针对二元数据和计数数据拟合广义线性模型(GLMs),同时介绍非线性建模技术。

学习成果:

  • 使用泛型 R 函数从拟合模型中提取、汇总和可视化信息。
  • 使用 ANOVA 表进行模型比较,并通过高效语法更新现有模型。
  • 使用适当的族和链接函数(如逻辑回归、概率单位、泊松分布)拟合广义线性模型(GLMs)。

🔹 第 9 课:高阶与低阶图形可视化数据

概述: 本课介绍 R 的全面图形功能,区分高阶绘图函数(创建完整图表)与低阶命令(向已有显示添加特定元素)。学生将学习如何操控图形参数以实现精确的美学控制,并管理多个图形环境。

学习成果:

  • 区分并实现高阶(如 plot()hist())与低阶(如 points()lines())图形函数。
  • 使用永久性(par())和临时性(函数级)条件设置来应用和管理图形参数。
  • 协调复杂布局,包括多变量数据展示和多图环境。

🔹 第 10 课:包生态系统与环境配置

概述: 本课探讨 R 的结构性基础,重点关注包生态系统、CRAN 的作用,以及命名空间在函数管理中的机制。同时提供通过多种接口运行 R 的实用路线图,并掌握通过命令行参数和快捷键配置 R 环境的方法。

学习成果:

  • 理解包、命名空间与 CRAN 仓库系统之间的关系。
  • 执行一个完整的“示例会话”,涵盖数据操作、统计建模和复杂数学绘图。
  • 使用命令行标志和环境变量配置 R 启动环境。