作者 CDA 数据分析师
数据科学家被认为是21世纪最性感也是最具发展前景的职业,目前有75%左右的数据科学家使用R语言,有35%左右的数据科学家将R语言作为首选统计分析工具。今天,带大家了解一下这门富有魅力的数据科学语言。
R 是一款为数据分析而设计的语言,其功能集数据操作、数学计算和数据可视化为一体,其特点在于:
1.有效得进行数据处理与存储
2.对数组,矩阵运算处理的支持
3.包含大量专门用于数据分析、统计分析和数据挖掘的实现方法
4.强大的数据可视化能力
经过多年的发展,R 语言的数据分析功能可以说是包罗万象。比如它可以实现像区间估计、方差分析、回归等经典的数理统计方法,也可以实现像聚类、决策树、神经网络等较新的数据挖掘、机器学习方法。
这些方法在R中通过程序包(package)来实现。例如,R 的基础套件中的 stats 包包含了常见的统计分析方法,graphics 包包含了基础绘图方法,parallel 包包含了并行计算方法等。此外,Cran 上也有很多优秀的、可以用于数据处理、分析、可视化第三方包。比如实现决策树的 rpart 包,实现神经网络的 nnet 包,实现动态图图表的 plotly、echartR 包等
1. 优点
(1)R语言是开源免费的,其语法非常类似于S语言,对于S语言的用户,R语言非常容易上手,并且其能够广泛得使用在很多的平台与操作系统上,包括主流的WINDOWS,iOS,Linux等,甚至索尼的Playstation3也可以使用R。另外核心团队一直在维护R,其bug修正和版本更新也非常及时。
(2)R本身是十分小巧,其很多分析功能被包含在了包中,用户可以依据需要下载实现相应功能的包。R在交互式的工作下表现出色,同时其程式化语言性质使得其也是一款优秀的开发工具,其用户社区十分活跃。
2. 缺点
R语言本身是基于40年前的老技术开发的,其对动态图与3D图像功能的支持不太尽如人意(不过近些年来这种情况有所改观),虽然其有很多功能强大的包,但如果以往的包的功能不符合要求或希望实现新的功能,则需要自己动手编写包去完成。内存方面,R语言中的对象普遍被存储在物理内存中,这就意味着随着在R中创建对象越来越多,其内存消耗将越来越大,一个典型例子是处理大型数据时会消耗过度的内存,这种状况至今也没有任何改观,这也使得R的处理大型数据上的能力大打折扣。另外,频繁的版本更新会使得很多包在新版本中无法使用,以至于用户有有时候不愿升级。
1.CRAN官网:CRAN全名为The Comprehensive R Archive Network,是R语言的官方网站。其包含各个版本R语言的帮助、下载等
2.Rstudio官网:RSTUDIO是R的一个开源的集成开发环境,其包含R的控制台,高亮语法编辑器,支持R代码的直接执行,另外其包括了绘图工具,历史代码信息栏,代码调试信息栏等。其可以在多个平台上使用,包括Windows,Mac和Linux。链接中包含了Rstudio以及其周边产品的介绍、下载等。
3.R的书籍介绍:链接中介绍了很多有关R语言的书籍:https://www.r-project.org/doc/bib/R-books.html
对于数据分析者来说,R语言是一个强大的武器库。其包含了适用于各个场景下的统计、数据挖掘方法的实现,如何去寻找这些方法的资料?如何快速的消化这些资料?如何运用这些武器于实际的分析工作中?这些需要培养起自己的自学能力:
1.英语的阅读能力:英语的阅读能力本应该属于自学能力中的一项,这里单独列出的主要原因在于R的很多资料都是以英文形式写出的,比如R的包的帮助文档,如果读者可以直接阅读这些材料,将会有利于学习这门开源软件
2.动手能力:只要涉及到分析,那么就需要完成数据获取、数据处理、数据分析、结果展现等过程,这些过程都需要分析师独立完成。所以动手能力是学好R等开源数据分析工具的必要前提。
3.寻找资料:合格的分析师的眼界是开阔的,这里不仅仅是对自己所处业务领域的了解,也包括对新的数据分析方法的了解与学习。在R中,总会有一些新的分析方法包出现,也会有写新的案例、教程出现。寻找这些资料是累积分析经验的一种很好的途径。这里可以通过使用搜索引擎(google),可以关注相关微博、微信的公众号、学习市面上培训机构的线上或线下的相关课程等等
4.坚持不懈:对R的学习过程中,肯定会遇到各种困难,比如分析方法原理难于理解,程序的报错,或者分析结果与实际情况有偏差。总之,下定决心后,就不要停止。付出会有回报。