R: 认识 R 语言:什么是 R 统计编程语言

R 是世界上最流行的统计计算与图形语言——它让数据分析和可视化变得简单而专业。

本教程面向零基础学习者,从"什么是 R"讲起,直到你能用 R 完成完整的数据分析项目。R 在学术研究、数据科学、统计建模领域是事实标准,全球有 250 万+ 数据科学家在使用它。

1. 你将学到



2. 一个数据分析师的真实故事

(1) 痛苦:Excel 撑不住了

Alice是一名市场分析师,最近接到一个紧急任务:

"把去年 12 个月的 @,000 rows of销售数据,做成一份6 张不同维度的趋势报告,明天早上manager要看。"

他打开 Excel 准备开工,结果发现:

他最后是怎么完成的?他转用了 R

(2) R 的解法

同样的任务,Alice在 R 里这样写:

R
# 一行代码加载整个数据分析工具集
library(tidyverse)

# 一行代码读入 @,000 rows of数据(5 秒完成)
sales <- read_csv("sales_2024.csv")

# 一行代码画 6 张图
sales |>
  group_by(region, month) |>
  summarise(total = sum(amount)) |>
  ggplot(aes(x = month, y = total, color = region)) +
  geom_line() +
  facet_wrap(~ product) +
  labs(title = "2024 年销售趋势(按地区/产品)")

总用时 5 分钟——读数据 5 秒,汇总 1 秒,画 6 张图 3 秒,剩下时间润色标题。

这就是 R 的魅力:用最少的代码完成最复杂的数据分析。它的设计哲学就是"让统计学家专注思考,而不是和工具斗争"。



3. 什么是 R?

R 是一门诞生于 1993 年的统计计算与图形编程语言,由新西兰奥克兰大学的 Ross IhakaRobert Gentleman 设计。

(1) R 的三大定位

定位 说明
统计学家的工作台 内置 8,000+ 统计函数,覆盖描述统计、假设检验、回归、贝叶斯、时间序列等全部统计方法
数据科学家的画笔 ggplot2 图表语法可一句话画出出版级图形,超越 Python matplotlib 默认风格
可重现研究的标准 R Markdown 把代码、公式、图表、论文写在同一份文档里,期刊投稿标配

(2) R 的核心优势



4. R 与 Python 的差异

很多初学者会问:"我学 R 还是 Python?"答案是两个都学——但用途不同。

(1) 一图看懂定位差异

100%
graph TB
    subgraph 编程语言分工
        A[R<br/>统计分析<br/>学术研究<br/>数据可视化] 
        B[Python<br/>Web 开发<br/>机器学习<br/>自动化工程]
        C[SQL<br/>数据库查询]
        D[JavaScript<br/>前端交互]
    end
    
    style A fill:#e1f5ff
    style B fill:#fff4e1
    style C fill:#f0e1ff
    style D fill:#e1ffe1

(2) 六维对比表

维度 R Python
设计目标 统计学家专用 通用编程语言
强项领域 统计分析、数据可视化、学术研究 Web、机器学习、自动化、通用工程
数据科学 tidyverse 链式 + ggplot2 pandas + matplotlib/sklearn
学习曲线 函数式编程 + 统计概念 命令式编程 + 软件工程
包生态 CRAN 20,000+ 统计包 PyPI 400,000+ 通用包
输出物 数据报告(R Markdown) 应用程序(Django/Flask)

(3) 简单结论

💡 提示:如果你只想学一门,做数据科学/统计/研究选 R,做工程/Web/AI 选 Python。数据科学家通常两门都会,因为不同任务用不同语言效率最高。



5. R 的诞生

(1) 一个有故事的语言

R 不是凭空设计的,它有清晰的演进路径:

(2) 为什么 R 能活 30 年?

R 不是"完美"的语言(语法有怪癖,IDE 启动慢),但它能存活 30 年的原因是:

💡 提示:很多语言"看起来"完美但死了(Perl、Ruby、Haskell);R "看起来"怪但越活越旺。语言的最终价值是它的生态,而不是语法。



6. 安装 R(R 4.x 主程序)

R 是开源免费的,可以从 CRAN 官网 下载安装包。

(1) 各平台安装指引

平台 安装方式 备注
Windows 下载 R-4.x.x-win.exe,双击一路 Next 选 64 位系统对应版本
macOS Apple Silicon 下载 R-4.x.x-arm64.pkg M1/M2/M3 芯片
macOS Intel 下载 R-4.x.x-x86_64.pkg 旧款 Mac
Linux (Ubuntu/Debian) 通过 CRAN 源 apt install 见下方命令
Linux (Fedora/CentOS) 通过 EPEL 源 dnf install 见 CRAN 官方文档

(2) Linux 安装命令

BASH
# Ubuntu/Debian 用户:在终端依次执行以下命令
sudo apt update -qq
sudo apt install --no-install-recommends software-properties-common dirmngr
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
sudo apt install -y r-base

(3) 验证安装

安装完成后,打开系统终端输入:

BASH
R --version

预期输出:

TEXT 📖 仅展示
R version 4.4.1 (2024-06-14) -- "Race for Your Life"
Copyright (C) 2024 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu

看到 R 版本号就说明主程序安装成功。

⚠️ 注意:终端里输入 R(大写)进入 R 交互式 REPL;输入 q() 退出 R。Windows 也可以从"开始菜单 → R"打开。



7. 安装 RStudio(推荐 IDE)

R 自带一个简陋的图形界面,但99% 的 R 用户都用 RStudio——它是 Posit 公司出品的 R 专用 IDE,全球 R 用户的标准工具。

(1) 下载 RStudio

访问 Posit 官网,下载免费版 RStudio Desktop(区分 Windows/macOS/Linux 三个版本,约 200MB)。

(2) RStudio 四窗格

第一次打开 RStudio,你会看到 4 个窗格:

100%
graph TB
    A["源编辑器<br/>Source Editor<br/>写 R 脚本和文档"] 
    B["控制台<br/>Console<br/>执行代码、显示结果"]
    C["环境/历史<br/>Environment/History<br/>查看变量、历史命令"]
    D["文件/图表/包/帮助<br/>Files/Plots/Packages/Help"]
    
    A -- "Ctrl+Enter<br/>运行选中行" --> B
    B -- "赋值产生" --> C
    B -- "plot 画图" --> D
    C -- "点变量名查看" --> D
    
    style A fill:#fff3cd
    style B fill:#d4edda
    style C fill:#cce5ff
    style D fill:#f8d7da

(3) 四窗格功能表

窗格 位置 主要用途
源编辑器 左上 .R 脚本、.Rmd 文档;Ctrl+Enter 发送到控制台
控制台 左下 交互执行 R 代码;显示输出和错误信息
环境/历史 右上 列出当前所有变量(数据框、函数等);命令历史
文件/图表/包/帮助 右下 浏览文件、查看绘图结果、安装/加载包、查函数帮助
💡 提示:如果界面是英文,菜单 Tools → Global Options → General → Appearance 可以切换 IDE 主题(如 Tomorrow Night Blue 暗色主题)。但保留英文菜单便于搜索报错信息时找到答案。



8. 第一个 R 脚本

现在我们写第一个 R 脚本,完整的工作流如下:

▶ 示例:Hello World + 简单计算

R
# ============================================
# 我的第一个 R 脚本
# 文件名:hello.R
# ============================================

# 1. 注释以 # 开头,不会被运行
# 2. 变量赋值用 <-
name <- "World"

# 3. 用 cat() 输出(cat = concatenate,拼接)
cat("Hello,", name, "!\n")

# 4. R 是计算器(直接输入算式)
1 + 1
2 * 3
sqrt(144)  # 平方根 = 12
log(100)   # 自然对数

# 5. 用变量做计算
pi_value <- 3.14159
radius <- 5
area <- pi_value * radius ^ 2
cat("半径为", radius, "的圆面积约等于", round(area, 2), "\n")
▶ 试一试

预期输出:

TEXT 📖 仅展示
Hello, World !
[1] 2
[1] 6
[1] 12
[1] 4.60517
半径为 5 的圆面积约等于 78.54

(1) 操作步骤

步骤 操作 说明
1 在 RStudio 按 Ctrl+Shift+N 新建 R 脚本
2 输入上面代码 完整复制粘贴
3 Ctrl+S 保存为 hello.R 选个文件夹
4 选中全部代码 Ctrl+A
5 Ctrl+Enter 发送到控制台运行
6 控制台查看输出 看到 "Hello, World !"
💡 提示cat()print() 更灵活,可以拼接多个参数;\n 是换行符;<- 是 R 的赋值符号(小于号 + 连字符),下一步课会深入学。



9. R 的包生态

R 的最大优势是包(package)生态——20,000+ 个由全球统计学家贡献的开源包,覆盖几乎所有统计方法和数据科学场景。

(1) 包管理三件套

R
# 1. 安装包(从 CRAN 镜像下载,只需执行一次)
install.packages("dplyr")

# 2. 加载包(每次新会话都要加载一次)
library(dplyr)

# 3. 查看已安装包
installed.packages()[, "Package"]

(2) tidyverse:数据科学 R 的"五件套"

tidyverse 是 Hadley Wickham(ggplot2 作者)领导的"整洁派"包集合,是现代 R 数据科学的事实标准:

作用 典型函数
dplyr 数据处理 filter() mutate() group_by() summarise()
ggplot2 出版级绘图 ggplot() geom_point() geom_bar()
readr 读写 CSV/TSV read_csv() write_csv()
tidyr 数据重塑 pivot_longer() pivot_wider()
stringr 字符串处理 str_detect() str_replace()
💡 提示:本教程 30 课会大量使用 tidyverse。装一次:

R
# 一次装 8 个核心包(dplyr/ggplot2/readr/tidyr/stringr/purrr/tibble/readxl)
install.packages("tidyverse")

❓ 常见问题

Q R 和 RStudio 哪个先装?
A 必须先装 R 主程序,再装 RStudio。RStudio 是 R 的"皮肤",自己不能独立运行。类比:先装发动机,再装驾驶舱。
Q 我能用 R 做机器学习吗?
A 能,但 R 偏统计和学术,AI/深度学习领域 Python 占绝对主导(PyTorch/TensorFlow)。如果目标是转岗 AI,建议学 Python;如果目标是数据科学/统计建模,R 更"地道"。
Q 学 R 之前需要会 Python 吗?
A 不需要。R 是一门独立语言,从零开始即可。但如果两门都学,可以根据任务选择最合适的工具,效率最高。建议先学 R(数据科学/统计),需要时再学 Python。
Q 国内安装 R 慢/失败怎么办?
A 在 RStudio 设置 Tools → Global Options → Packages → CRAN mirror 切换到国内镜像(如清华 https://mirrors.tuna.tsinghua.edu.cn/CRAN/),速度会快 10 倍。Linux 用户配置 apt 源时也选国内镜像。

📖 小节


📝 作业

  1. 基础题:访问 CRAN 官网,找到适用于你操作系统的最新 R 安装包,记录下当前最新版本号是多少。安装 R 主程序和 RStudio,截图保存 RStudio 的四窗格界面。

  2. 进阶题:在 RStudio 新建脚本,编写一个"自我介绍"程序:① 定义 3 个变量(姓名 name、年龄 age、城市 city);② 用 cat() 拼成一句话输出"我是 [姓名],今年 [年龄] 岁,来自 [城市]";③ 用 # 写 2-3 行注释解释代码。运行后截图保存控制台输出。

  3. 挑战题:调研你最感兴趣的一个 R 包(推荐:ggplot2 / dplyr / shiny / rmarkdown / forecast),用一段话(200 字左右)介绍它的作用、典型应用场景,以及一个真实使用案例(可在 RStudio 官网CRAN Task Views 查找)。把你的调研结果写在文档里保存。

Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏