modified | Thursday 1 May 2025 |
---|
1.1 R 简 介
R 是 一 门 强 大 的 编 程 语 言 和 统 计 计 算
环 境 , 也 是 数 据 探 索 、 分 析 和 可 视 化
的 利 器 。 它 是 免 费 、 开 源 的 , 并 且 具
有 一 个 活 跃 且 强 大 的 、 快 速 成 长 的 社
区 。 在 这 里 , 用 户 和 开 发 者 共 享 依 此
的 经 验 , 他 们 贡 献 了 超 过 7500 个 扩 展
包 , 因 此 ,R 可 以 处 理 众 多 领 域 的 各
种 各 样 的 问 题 ( 参 见 httbs:/ / crahn.f -
F巫〕jeCt′O「…〕/We仁)/VieWS’〉 o
尽 管 R 编 程 语 言 的 起 源 只 追 溯 到 1993
年 , 但 数 据 相 关 行 业 普 遍 采 用 R 语 言
编 程 , 因 此 在 近 十 年 里 ,R 已 迅 速 成
长 并 成 为 数 据 科 学 领 域 的 通 用 工 具 。
一 般 来 说 ,R 不 仅 是 一 门 编 程 语 言 ,
而 且 是 一 个 综 合 计 算 环 境 , 一 个 活 跃
34 11539
1.1R 简 介
且 强 大 的 祀 区 , 一 个 快 速 生 长 和 扩 大
的 生 态 系 统 。
111 编 程 语 言 ˇ 一
作 为 一 门 编 程 语 言 ,R 已 经 演 变 和 发
展 了 20 多 年 。 开 发 者 的 目 标 非 常 清
晰 , 就 是 使 R 成 为 一 款 简 单 易 用 且 灵
活 的 , 能 够 综 合 执 行 统 计 计 算 、 数 据
探 索 和 可 视 化 的 工 具 。
然 而 , 易 用 性 和 灵 活 性 通 常 是 相 互 冲
突 的 。 如 果 可 以 通 过 简 单 单 击 几 个 按
钮 就 可 以 完 成 多 种 多 样 的 统 计 分 析 任
务 , 那 么 在 实 现 自 定 义 和 自 动 化 , 五
保 证 工 作 的 可 重 复 性 时 就 不 可 能 兼 具
灵 活 性 。 另 一 方 面 ,R 可 以 非 常 灵 活
地 使 用 多 种 出 数 进 行 数 据 转 换 , 构 建
复 杂 的 图 形 等 , 但 学 习 和 正 确 地 组 合
这 些 团 数 就 会 有 一 定 的 难 度 。R 良 好
3511539
1.1R 简 介
地 平 衡 了 易 用 性 和 灵 活 性 , 使 得 亡 在
众 多 工 具 中 脱 颖 而 出 。
1.1.2 计 算 环 境 _
作 为 一 个 计 算 环 境 ,R 具 有 轻 量 级 和
安 装 即 用 的 特 点 。 相 比 其 他 督 名 的 统
计 软 件 , 例 如 Matlab 和 SAS, R 更 小 且
更 容 易 配 置 。
在 本 书 中 , 我 们 使 用 RStudio 处 理 绝
大 部 分 R 中 的 工 作 。 该 集 成 开 发 环 境
提 供 了 丰 富 的 功 能 , 如 语 法 高 亮 、 自
动 补 齐 、 扩 展 包 管 理 、 图 形 查 看 器 、
帮 助 查 看 器 、 环 境 查 看 器 以 及 调 试 功
能 。 这 些 功 能 极 大 地 提 高 了 用 户 的 工
作 效 率 。
1.1.3 社 区 _
作 为 一 个 社 区 ,R 是 强 大 且 活 跃 的 。
36 11539
1.1R 简 介
你 现 在 就 可 以 访 问 Try R (httb: / /
tryr:codeschoolLcom/) , 通 过 交 互
式 教 程 对 R 的 基 本 知 识 有 个 初 步 的 了
解 。 在 实 际 编 写 代 码 时 , 你 可 能 会 遇
到 各 种 各 样 的 问 题 , 但 是 不 必 独 自 解
决 所 有 问 题 。 你 可 以 在 google 上 搜 索
一 个 R 的 问 题 , 就 会 发 现 几 乎 总 是 可
以 在 Stack Overflow (〔httb : / /
stackoverflow.com/y/questionsy
tagged/r) 上 找 到 很 多 解 答 。 如 果 你
的 问 题 没 有 完 全 解 决 , 也 可 以 在 上 面
继 续 提 问 , 往 往 几 分 钟 就 可 以 得 到 回
如 果 你 需 要 使 用 标 个 扩 展 包 , 些 且 详
细 地 了 解 它 的 工 作 方 式 , 可 以 访 问 它
的 在 线 存 储 库 (repo) 获 取 源 代 码 。
许 多 存 储 库 托 管 在 GitHub (httbs://
www.github.com)〗 上 。 在 GitHub
37 1 1539
1.1R 简 介
上 , 你 可 以 做 更 多 事 情 。 当 发 现 一 个
扩 展 包 不 能 正 确 运 行 时 , 你 可 以 提 交
一 份 问 题 报 告 。 如 果 你 需 要 的 某 个 功
能 正 好 契 合 树 个 扩 展 包 的 开 发 目 的 ,
也 可 以 提 交 一 份 需 求 报 告 。 同 样 , 如
果 你 有 兴 趣 解 决 某 个 扩 展 包 的 问 题 或
者 丰 富 它 的 功 能 , 也 可 以 加 入 该 项
目 , 编 辑 代 码 并 发 送 合 并 请 求 , 这 样
你 做 的 更 改 就 可 以 被 原 开 发 者 接 收
到 。 如 果 你 的 更 改 被 接 受 了 , 那 么 ,
恭 喜 你 , 你 就 会 成 为 该 扩 展 包 的 一 个
贡 献 者 。 令 人 惊 奇 的 是 ,R 和 巳 的 数
十 个 扩 展 包 就 是 被 世 界 各 地 的 贡 献 者
们 开 发 创 建 的 。
作 为 一 个 生 态 系 统 ,R 在 除 IT 行 业 以
外 的 所 有 数 据 相 关 领 域 中 迅 速 发 展 壮
38 / 1539
1.2 对 R 的 需 求
在 众 多 统 计 软 件 中 ,R 能 够 脱 颖 而
出 , 有 以 下 几 个 方 面 的 原 因 。
免 贺 : R 是 完 全 免 费 的 。 你 不 需
要 购 买 许 可 证 书 , 因 此 , 使 用 R
和 大 部 分 扩 展 包 是 没 有 准 入 障 碍
的 。
s 开 源 : R 和 大 部 分 扩 展 包 都 是 完
全 开 源 的 。 数 以 干 计 的 开 发 者 不
断 地 审 查 包 的 源 代 码 , 查 看 是 否
存 在 需 要 修 复 的 漏 洞 或 者 可 以 改
进 的 地 方 。 如 果 你 遇 到 了 异 常 ,
可 以 研 究 和 挖 掘 源 代 码 , 找 到 问
题 所 在 , 并 解 决 问 题 。
流 行 : 即 使 R 不 是 最 流 行 的 编 程
语 言 , 但 在 统 计 编 程 语 言 和 数 据
4111539
1.2 对 R 的 需 求
拮 掘 、 数 据 分 析 与 可 视 化 平 台 方
面 , 它 也 是 相 当 受 欢 迎 的 。 高 度
通 用 性 意 味 着 你 和 其 他 用 户 之 间
的 沟 通 更 加 方 便 , 囚 为 你 们 讲 -
同 一 种 语 言 。
42 11539
1.2 对 R 的 需 求
在 大 多 数 科 研 领 域 和 许 多 工 业
应 用 中 , 由 于 各 种 原 因 , 重 复
性 是 必 要 的 。R 脚 本 可 以 精 确
地 描 述 和 记 录 你 使 用 计 算 环 境
和 数 据 的 各 项 操 作 , 因 此 , 可
以 从 头 开 始 完 全 重 现 之 前 的 所
有 步 骤 。
扎 展 包 。
世 界 各 地 有 超 过 4500 个 开 发 者
43 1 1539
1.2 对 R 的 需 求
创 建 并 维 护 着 这 些 扩 展 包 , 开
发 者 们 几 乎 遍 布 所 有 的 数 据 相
关 领 域 , 例 如 多 元 统 计 分 析 、
时 间 序 列 分 析 、 计 量 经 济 学 、
贝 叶 斯 推 断 、 最 优 化 、 金 融
学 、 遗 传 学 、 化 学 计 量 学 、 计
算 物 理 学 等 。 你 可 以 访 问
CRAN 任 务 视 图 (httb s : / /
cran.r-project.org/webyV
views/〗 获 取 全 面 的 总 结 。
除 了 这 些 数 量 庞 大 的 扩 展 包 之
外 , 还 有 很 多 开 发 者 经 常 编 写
个 人 博 客 , 并 在 S t a c k
Overflow 上 回 答 问 题 , 分 享 他
们 的 观 点 、 经 验 和 一 些 实 战 方
法 。 同 时 , 还 有 很 多 关 于 R 的
社 区 网 站 , 例 如 R-bloggers
(http://www.r-bloggers.-
44 1 1539
1.2 对 R 的 需 求
com/)〗 、R _documentation
(http:/V/
www.rdocumentation.org/)
和 METACRAN (httb: //
Wwww.r-pKkKg.org/)〗 。
强 大 的 社 区 : R 的 社 区 成 员 不 仅
有 R 的 开 发 者 , 还 有 ( 并 且 大 多
数 都 是 ) R 用 户 , 他 们 有 不 同 的
专 业 背 景 , 例 如 统 计 学 、 计 量 经
济 学 、 金 融 学 、 生 物 信 息 学 、 机
械 工 程 学 、 物 理 学 、 医 学 等 。
有 非 常 多 的 R 开 发 者 积 极 地 贡
献 开 源 项 目 或 者 扎 展 包 。 社 区
的 共 同 目 标 就 是 使 数 据 分 析 、
数 据 探 索 和 可 视 化 变 得 简 单 有
趣 。
如 果 你 在 使 用 R 的 过 程 中 被 桅
45 1 1539
1.2 对 R 的 需 求
个 问 题 绊 住 了 , 只 需 在 Google
上 搜 索 一 下 , 极 有 可 能 已 经 存
在 解 决 方 案 了 。 如 果 没 有 , 你
也可D又在St畜〕]Ck 伽e闭OW上提
问 , 并 且 很 快 就 会 得 到 回 复 。