什么是 R 编程语言?R 简介和基础知识

⚡ 智能摘要

R 是一种免费的开源编程语言,用于统计计算、数据分析和图形绘制,由 Ross Ihaka 和 Robert Gentleman 创建,现在由 R 核心团队维护,拥有超过 20,000 个 CRAN 软件包。

  • 🔘 起源: R 语言于 1993 年在奥克兰大学诞生,是 S 语言的开源实现。
  • ☑️ 核心优势: 统计推断、数据分析和机器学习仍然是 R 语言最擅长的三个方面。
  • 包: CRAN 托管了超过 20,000 个贡献软件包,从 tidyverse 数据整理到 XGBoost 建模。
  • 🧪 通讯: R Markdown、Quarto 和 Shiny 可以将分析结果转换为报告、幻灯片或交互式应用程序。
  • 🛠️ 工具: RStudio,Posit IDE,增加了编辑器、项目管理和 GitHub Copilot 支持。
  • ⚠️ 选择: R语言适合处理大量统计工作,而 Python 领导生产机器学习和通用工程。

什么是 R 编程语言

什么是 R 软件?

R R 是一种编程语言和自由软件,由 Ross Ihaka 和 Robert Gentleman 于 1993 年在奥克兰大学开发。R 拥有丰富的统计和图形方法库,包括机器学习算法、线性回归、时间序列和统计推断等等。大多数 R 库都是用 R 语言编写的,但对于繁重的计算任务,也会使用 C 语言。 C++ 和 Fortra优先选择 n 代码。

R语言不仅受到学术界的信赖;许多大型公司也使用R编程语言,包括Uber。 GoogleAirbnb 和 Facebook 等公司都在使用 R 语言。目前,R 语言的开发由 R 核心团队负责,并且仍在积极发布中——R 4.6.1 于 2026 年 6 月发布。

使用 R 进行数据分析遵循一系列步骤:编程、转换、发现、建模和交流结果。

  • 会议议程:R 是一个清晰易用的编程工具
  • 改造R 语言是由一系列专门为数据科学设计的软件包组成的。
  • 探索调查数据,完善假设并进行分析。
  • 型号:R 提供了各种各样的工具来为你的数据获取正确的模型
  • 沟通联系使用 R Markdown 将代码、图表和输出集成到报告中,或者构建 Shiny 应用与世界分享

R 用于什么?

这五个步骤可以转化为三个工作领域,其中 R 是默认选择:

  • 统计推断 —假设检验、置信区间和回归模型
  • 数据分析 — 进口、清洁、重新ping 以及汇总表
  • 机器识别 — 通过 caret、tidymodels 和 XGBoost 进行分类、聚类和预测

R 按行业

如果我们按行业细分 R 语言的使用情况,会发现学术界位居榜首。R 是一种专为统计学而设计的语言,也是医疗保健行业的首选,其次是政府和咨询行业。下图展示了 R 语言的使用分布情况。

按行业划分的 R 用户份额,学术界和医疗保健行业领先

R 包和 CRAN

R 语言的主要用途是(并将永远是)统计、可视化和机器学习。下图显示了 R 语言包含哪些软件包。trac在 Stack Overflow 上,关于数据科学家的提问最多。排名前十的问题中,大多数都与数据科学家的工作流程有关:数据准备和结果沟通。

Stack Overflow 上被问到最多的 R 包

几乎所有的 R 包都存储在 CRAN(综合 R 语言数据库)中。 Archive Network 是一个免费开源的平台,目前收录了超过 20,000 个贡献的软件包。您可以下载并使用它们来执行各种操作。 机器学习 或者进行时间序列分析。以下 CRAN 列表列出了所有这些软件包的发布和验证位置。

CRAN 代码库页面列出了贡献的 R 包

安装只需一次通话即可完成。 install.packages("dplyr") ——原因 dplyr tidyverse 系列成为了标准工具包。

与 R 通信

软件包负责分析;最后一步是分享。R 提供了多种展示和分享工作成果的方式,既可以通过 Markdown 文档,也可以通过 Shiny 应用。所有内容都可以托管在 RPubs、GitHub 或公司自己的网站上。

以下是在 RPubs.

RPubs 上发布的 R Markdown 演示文稿示例

RStudio 支持 R Markdown 格式(自 2022 年起也支持 Quarto 格式)来编写文档。如下面的导出菜单所示,您可以将文档生成为不同的格式:

  • 文件:
    • HTML
    • PDF/LaTeX
    • Word
  • 介绍:
    • HTML
    • PDF 投影机

RStudio导出菜单显示HTML、PDF和Word输出选项

RStudio 还提供了一个非常棒的工具,可以轻松创建应用程序。以下是一个使用世界银行数据构建的应用程序示例。

基于世界银行数据构建的 Shiny Web 应用程序

为什么使用 R?

了解 R 语言的功能是一回事,投入时间学习又是另一回事。数据科学是……ping 公司运营方式的改变,以及对人工智能和机器学习的忽视,都将导致公司失败。关键问题在于,你应该使用哪种工具或语言。

有很多工具可以进行数据分析,而学习一门新语言需要投入时间。下图绘制了学习曲线与该语言所提供的商业能力之间的关系。负相关关系表明天下没有免费的午餐:要想从数据中获得最佳洞察,就需要花费时间学习合适的工具。

Excel、Power BI、SAS 的学习曲线与业务能力之间的关系 Python 和R

图表左上角显示的是 Excel 和 Power BI。这两个工具都易于学习,但业务功能并不强大,尤其是在建模方面。中间部分显示的是…… PythonSASSAS 是一款专门用于商业统计分析的工具,但它不是免费的;它是一款即点即用的软件。 Python 它的学习曲线平缓,是部署机器学习和人工智能的绝佳工具,但其报​​告功能较少。R语言的学习曲线与之相近,在实现和数据分析之间取得了良好的平衡。

你可能听说过 Tableau,它是一款数据可视化工具。Tableau 通过图表发现数据模式,学习起来也很快,但这种以可视化为先的工具最终可能会生成大量图表却找不到任何规律。Tableau 适合快速可视化或商业智能;而对于统计分析和决策制定,R 语言则更为合适。

Stack Overflow 是一个大型编程语言社区,旨在帮助你解决编码问题或理解模型。多年来,R 语言的问题浏览量与其他语言相比显著增长,如下图所示。 trac这既反映了数据科学的蓬勃发展,也反映了对 R 的需求。

Stack Overflow 上关于 R 语言和其他语言的问题浏览量和分享趋势

在数据科学领域,有两种工具相互竞争:R 和 Python 是定义该领域的编程语言。

你应该选择 R 吗?

数据科学家可以使用两个优秀的工具:R 和 Python你可能没有时间同时学习这两者,尤其是在刚开始学习的时候。 学习统计建模和算法 比学习一门编程语言更重要的事。 编程语言 R 是一个用于计算和交流你的发现的工具。数据科学中最重要的任务是处理数据的方式:导入、清洗、准备、构建特征并选择它们。这应该是你的主要关注点。尝试学习 R 和 Python 如果没有扎实的统计学基础,贸然开展数据科学研究往往行不通。数据科学家并非以编程见长——他们的工作是理解数据、处理数据并找出最佳解决方案。

数据科学的主要受众是商业人士,因此沟通至关重要:报告、Web应用程序、仪表盘。你需要一个能够完成所有这些功能的工具,而R及其…… 报告堆栈 坚守阵地。

R 难吗?

多年前,R 语言很难掌握:它晦涩难懂,而且结构不如其他编程工具清晰。为了克服这些难题,Hadley Wickham 开发了一套名为 tidyverse 的软件包。这彻底改变了游戏规则——数据操作变得直观易懂,创建图表也不再困难。

机器学习的最佳算法可以用 R 语言实现。Keras 和 TensorFlow 等软件包可以构建高端模型,R 语言还包含 XGBoost 软件包,XGBoost 是 Kaggle 竞赛中最好的算法之一。

R 可以与其他语言交流:可以调用 Python, Java 和 C++ 基于 R 语言。大数据也易于访问,因为 R 可以连接到诸如……之类的平台。 Spark 或 Hadoop。

最后,R 语言发展出了并行化操作和加速计算的能力。R 语言曾因一次只能使用一个 CPU 核心而受到批评;现在,并行包可以在机器的不同核心上运行任务。

常见问题

首先从 CRAN 镜像安装 R,然后添加 RStudio Desktop,这需要预先安装 R。 RStudio 安装指南 走过 Windows 以及 Mac,包括 Anaconda 系统。

R 是运行代码的语言和引擎。RStudio 由 Posit 开发,是一个基于 R 的集成开发环境,它添加了编辑器、控制台、绘图面板、包管理器和项目管理功能。

是的。R 语言采用 GNU 通用公共许可证发布,因此公司可以免费安装和使用它。大多数 CRAN 软件包都采用 GPL 或 MIT 许可证,但在重新分发代码之前,请务必检查每个软件包的许可证。

以当前版本为例——R 4.6.1 于 2026 年 6 月发布。最新的 CRAN 软件包都是基于最新的 R 版本构建的,因此保持最新版本可以避免安装失败,而 renv 软件包可以在项目必须保持可复现性时锁定版本。

语法、向量和 数据框 需要几周时间进行规律练习。达到建模和可视化方面的熟练水平通常需要几个月的时间,而且理解代码背后的统计学原理比理解代码本身需要更长的时间。

是的。DBI 包加上驱动程序可以将 R 连接到 SQL 数据库,而 sparklyr 和 arrow 则用于处理大于内存的数据。复杂的连接操作会在服务器端运行,只有聚合后的结果会返回到你的 R 会话中。

AI助手根据简单的描述生成ggplot2和dplyr代码,提供汇总统计信息并标记可疑列。它们缩短了第一遍代码的编写时间。 数据分析然而,生成的每一个数字仍然需要与原始数据进行核对。

是的。 GitHub 副驾驶 适用于 RStudio Desktop 2023.09.0 及更高版本,可在“工具”>“全局选项”>“助手”中启用。需要 Copilot 订阅,并且管理员必须在 RStudio Server 上启用它。

总结一下这篇文章: