开发者学堂课程【R 语言编程基础:R 语言是什么、R 的优势、资源】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/564/detail/7712
R 语言是什么、R 的优势、资源
目录:
一、R 是什么(What R)
1、R 语言由新西兰奥克兰大学的 Ross Ihaka 和 Robert Gentleman 两人共同发明。
上图中左边是 Ross Ihaka;右边是 Robert Gentleman。他们两为了方便一起上一门课而创作了 R 语言。
2、R 语言的词法和语法分别源自 Scheme 和 S 语言。
3、R 定义: 一个能够自由有效地用于统计计算和绘图的语言和环境,它提供了广泛的统计分析和绘图技术。
在 R 语言领域中,一般认为 R 语言是 S 语言的一种方言。R 语言定义中说它提供了广泛的统计分析和绘图技术,其中包括线性和非线性的模型、统计检验、时间序列、分类、聚类等方法。
有些倾向于 R 语言是一种环境,在这个环境里面,实现了很多经典的、现代的统计方法;或者数据分析和挖掘技术。
为什么起名为 R 语言?
因为当时 Ross Ihaka 和 Robert Gentleman 两人,为了方便教授一门叫初等统计的课程而共同开发的一门语言。而他们名字的首字母都是 R,于是 R 便成为这门语言的名称。
二、R 的优势(Why R)
国际上 R 语言已然是专业数据分析领域的标准
1、R 是免费的开源软件。
大多数商业统计软件的价格是非常昂贵的。一般,学生和开发者使用一些软件需要支付高昂的费用。而 R 语言却是免费的。
2、全面的统计研究平台,提供了各种各样的数据分析技术。
几乎任何一种数据统计工作都可以在 R 里面完成。
3、R 是一个程序设计语言,所以它的能力可以很容易地通过使用用户定义的函数扩展。
可以自己利用 R 语言实现需要的功能,也可以将这个功能打包发布到 R 社区里,供其他人共享这个功能的实现。R语言的使用很大程度上是借助 R 包的复制。从某种程度上说R语言就是运用不同的插件来满足不同的需求。用户使用功能包可以在 CRAN 上找到。截止到2013年的统计,CRAN 里的功能包已经有四千个可以使用的软件包,可以实现很多的分析和统计功能。
4、R 拥有顶尖水准的制图功能。
现在,做数据分析或者统计的时候,最后的结果如果都是以图形的方式展示,会使得客户或者汇报人有非常直观的或一目了然的效果,一眼就能看出结果是什么样的描述或者是什么样的分析情况。
5、可以从多个数据源获取数据并将其转化为可用的形式。
可以将 Excel 表、文件、.csv 后缀格式数据导入到 R 中,再应用 R 的相关操作来进行数据的分析和处理。
6、R 可以运行在多种平台上,包括 Windows、UNIX 以及 Mac 上。
所以,这些优势使得 R 在整个统计分析和数据挖掘应用领域里使用频率非常高。
图中,统计了2012年、2013年、2014年这三年中数据挖掘领域语言流行度的调查。统计结果看出,R 语言一直是数据挖掘领域所有语言使用频率之首。R 语言在2012年占据到百分之52.5。2013年占据到百分之60.9,2014年稍微少些在百分之49。不是 R 语言的使用频率在下降,而是每年的调查针对人群会不一样。总的来看,R 语言的使用占比一直是排在首位。实际在国际上,R 语言已经是专业数据分析领域的行业标准。
三、R 的资源(R Relation)
在学习 R 语言的时候,应该在哪里去涉及与 R 相关的现代知识或者相关论坛?
R 语言正越来越受到企业和学术界中数据分析专家的欢迎
1、R 主页∶http∶//www.r-project.org
在访问 R 主页时,可以获取到很多相关的有用信息。
2、CRAN (Comprehensive R Archive Network):
CRAN 里可以下载 R 的一些功能包。
3、R 的博客∶http∶//www.r-bloggers.com/
R 的博客是很多R语言的爱好者,会分享他们在某段时间里用 R 语言分析的项目,将分析挖掘的方法、如何解决某问题、或者在解决这些问题中使用 R 相关的命令、展示的图形等分享到博客里。
4、R 的书籍∶《数据挖掘与 R 语言》、《R 语言实战》、《R 语言编程艺术》
R 的相关书籍,推荐以上三本。
(1) 数据挖掘与 R 语言,英文版为:Data Mining with R。
(2) R 语言实战,英文版为R in Action。这本书介绍 R 的整个层次很清晰,很适合初学者。
(3) R 语言编程艺术。
如果是学习 R 语言或者找这类参考书,可以从以上三本选择。
在 R 领域,有些人认为 R 像一个有能力的魔法师,会很多魔法,每一个魔法都是 R 一个功能的实现。在实现 R 的时候,就像哈利波特电视剧所展示的那样大家都在学习魔法。还有认为 R 就像哆啦 A 梦的口袋,可以拿到很多非常实用的工具,尤其是在解决实在的问题时,会发现原本需要敲很多代码去繁琐的实现某些功能时,R 里早已准备好,体验感受会带来很多惊喜。