脱胎于 S 语言的R语言,Ross Ihaka 和 Robert Gentleman 和社区的力量让 R 在学术界与研究机构放光彩

R语言从一门用于统计学教学的编程语言,发展成为全球数据科学领域的重要工具,离不开其强大的功能、丰富的社区资源和开源精神。这些都离不开Ross Ihaka 和 Robert Gentleman 和 社区的力量。

在1990年代初,新西兰奥克兰大学的统计学教授Ross Ihaka和Robert Gentleman认识到,需要一种适用于教学和研究的、功能强大且开源的统计编程语言。他们受到S语言的启发,决定开发一门新语言,这就是后来的R语言。R语言的命名既是对S语言的致敬,也是因为两位创始人名字的首字母均为R。

1、脱胎于 S 语言的R语言

R语言的诞生离不开S语言的影响。S语言是一门由John Chambers及其同事在贝尔实验室开发的统计编程语言,旨在为统计计算提供一个灵活且功能强大的平台。S语言通过其交互式的编程环境和丰富的统计功能,迅速成为统计学界的重要工具。然而,S语言的商业化运作使得它的广泛使用受到限制,尤其是在学术界和研究机构。因此,S语言的开源替代品逐渐成为学术界的需求。

R语言的设计深受S语言的影响,特别是在语法和函数结构方面。S语言的一大特点是其面向对象的编程风格,这一特点在R语言中得到了继承和发展。R语言通过函数式编程和面向对象编程的结合,提供了灵活的编程接口,允许用户自定义数据结构和分析流程。

方面 R语言 S语言
起源 1990年代初在奥克兰大学开发的开源项目,灵感来自S语言 1970年代中期在贝尔实验室开发,主要用于内部统计研究
主要开发者 Ross Ihaka, Robert Gentleman John Chambers, Rick Becker, Allan Wilks
目的 最初设计用于统计计算和图形制作,重点是易用性和可扩展性 设计用于统计计算和数据分析,主要用于研究目的
是否开源 是的,R完全开源 最初是专有软件,后来的版本(S-PLUS)为商业软件
受欢迎程度 在学术界和工业界广泛流行;有强大的社区驱动发展 在研究机构和统计学家中流行,尤其是在1980年代和1990年代
社区支持 拥有广泛的社区支持,有众多论坛、邮件列表和在线资源 社区支持有限,主要由商业实体(如S-PLUS)推动
包管理 Comprehensive R Archive Network (CRAN) 拥有超过18,000个包 S-PLUS中的商业包管理系统;没有CRAN那么广泛
语法相似性 与S语言高度相似,但包含了额外的功能和改进 R语言的基础;R语言扩展和修改了S语言的语法
应用范围 范围广泛,用于统计分析、数据可视化等 主要集中在统计分析和数据建模
面向对象编程 支持面向对象编程,包括S3和S4类 支持面向对象编程,但主要使用S3类
数据处理能力 有效处理大型数据集;设计时考虑了数据操作和分析的需求 数据分析效果良好,但与现代R相比处理极大数据集的效率较低
词法作用域 使用类似于Scheme的词法作用域,使代码更灵活和可靠 早期版本使用动态作用域;后来的版本引入了词法作用域
2、从学术项目到全球推广

R语言最初是作为一门教学工具而开发的,其目标是为统计学课程提供一个易于使用且功能丰富的编程环境。Ihaka和Gentleman在奥克兰大学开始了R语言的开发工作,并于1993年8月首次在StatLib数据存档网站上发布了R的二进制文件。这一发布引起了统计学界的广泛关注,他们同时在s-news邮件列表中宣布了这一消息。

R语言的早期版本吸引了一批热衷于统计计算的学者和研究人员,他们开始积极参与R语言的开发和推广。R语言的开源性质使得任何人都可以自由地修改、扩展和分享这门语言,从而推动了R语言的快速发展。

3、R语言的社区活动发起

R语言的成功离不开其背后的开源社区。在R语言发布的早期阶段,学术界和研究机构的积极参与者开始为R语言贡献代码、开发包和文档。这些贡献不仅扩展了R语言的功能,还丰富了其应用场景,使R语言逐渐成为统计学和数据科学领域的标准工具。

1997年12月5日,R语言正式成为GNU项目的一部分,标志着其作为开源项目的地位得到进一步巩固。同年,R语言的版本号达到0.60,随后R语言社区开始以更加系统化的方式进行开发和维护。

4、R语言的关键里程碑

R语言的开发经历了多年的积累和改进,终于在2000年2月29日发布了其第一个正式版本R 1.0.0。这一版本的发布是R语言发展史上的重要里程碑,标志着R语言的功能和稳定性达到了一个成熟的阶段。R 1.0.0版本不仅包含了全面的统计分析工具,还引入了数据可视化功能和灵活的编程接口,使其能够应对复杂的数据分析任务。此时,R语言已经在学术界和研究机构中得到了广泛应用,并开始吸引工业界的关注。

5、 CRAN的建立与扩展

R语言的另一个重要发展是CRAN(Comprehensive R Archive Network)的建立。CRAN是一个R语言软件包的在线存储库,允许用户轻松地下载、安装和更新R语言的扩展包。CRAN的建立为R语言的扩展性提供了强有力的支持,使得用户可以根据自己的需求添加新的功能和工具。

随着时间的推移,CRAN的规模不断扩大,目前已经包含了数以万计的R语言扩展包,涵盖了从基础统计分析到机器学习、从生物信息学到金融数据分析等各个领域。CRAN的丰富资源大大增强了R语言的适用性,使其成为数据科学家和统计学家的首选工具之一。

为帮助大家更出色地掌握临床统计、数据挖掘以及人工智能建模的入门知识和应用,由于众多同学在计算机编程上经验欠缺,特此开设《R 探索临床数据科学》专栏。该专栏每周至少会定期更新三篇,直到整个专栏更新完成。每篇文章都在 5000 字以上,质量平均分高达 94 分。要提醒大家的是,每结束一个章节,专栏的优惠力度就会减小,当下正是订阅的最佳优惠时段,诚邀各位积极订阅!

专栏《R 探索临床数据科学》链接:https://blog.csdn.net/2301_79425796/category_12729892.html?spm=1001.2014.3001.5482

相关推荐
叶庭云7 小时前
Matlab 和 R 语言的数组索引都是从 1 开始,并且是左闭右闭的
matlab·编程语言·r·数组索引·从 1 开始
Tiger Z1 天前
R 语言科研绘图第 6 期 --- 散点图-基础
r语言·贴图
LvManBa1 天前
R 常用的内置软件包及功能介绍
开发语言·r语言·rstudio
新知图书2 天前
R语言的数据结构-数据框
开发语言·r语言
新知图书3 天前
R语言的字符串操作
开发语言·r语言
亿牛云爬虫专家4 天前
利用 html_table 函数轻松获取网页中的表格数据
爬虫·html·爬虫代理·表格·r·代理ip·html_table
新知图书4 天前
R语言函数简介
开发语言·python·r语言
还没想好1234 天前
mlr3机器学习AUC的置信区间提取
人工智能·机器学习·r语言·学习笔记
拓端研究室TRL5 天前
R语言混合模型回归GBTM群组轨迹模型绘图可视化研究
开发语言·人工智能·数据挖掘·回归·r语言
_刘文凯_6 天前
R环境配置 以及Debug方法 (VSCode, conda, 远程R)
vscode·r语言·conda