我的5年Python7年R,述说她们的差异在哪里?

2019-07-22 16:30:08 浏览数 (1)

前言

首次接触R语言是在2012年读研的时候,有一门课程是统计分析与R语言,清晰地记得期末考试时,由于把答案给同学抄,最终落了个重考的后果(重考92分)。那个时候真的非常喜欢R语言,因为这种面向对象的语言很简单、很灵活,而且功能也非常强大(如果你接触过SAS,也许也会有这样的感想)。

对于Python的接触相对晚了两年,2014年走上实习岗位时,主管让我研究推荐系统方面的实操,当时看的第一本相关书籍就是中国科学院博士项亮的《推荐系统实践》一书,而书内涉及的代码就是Python。为了工作,为了让推荐系统可以落地,便开始了Python的学习和研究,一晃5年过去了。

自己也曾写过两者在编程和功能上的差异,但都只是基于具体应用上的对比,并没有在全局的角度对比两者的异同,例如这些文章:

从零开始学Python【6】--pandas(数据框部分01)

从零开始学Python【7】--pandas(数据框部分02)

从零开始学Python【8】--pandas(数据框部分03)

从零开始学Python【9】--pandas(数据框部分04)

从零开始学Python【22】--线性回归诊断(第一部分)

从零开始学Python【23】--线性回归诊断(第二部分)

从零开始学Python【25】--岭回归及LASSO回归(实战部分)

正好就在前两天有网友在公众号留言,希望我分享一篇文章,来描述R语言和Python的差异。那么今天就跟各位网友聊一聊这个话题。

编程体验

哇,两门语言真的太赞了,几乎可以解决数据分析或挖掘过程中的所有问题(例如数据搜集、清洗、整合、探索、可视化、建模、评估、展现等)。她们之所以功能,是因为前辈们已经打造了很多成熟的第三方包,对于工具的使用者,大多数情况下只需调包跑数据即可。截止到本文的编写,R语言官网公布14,553个包,PyPI官网公布188,135个项目(即模块)

两门语言的编程语法也是比较相似的,区别在于R语言更有数学味道,都是函数思维;而Python更有编程的味道,除了有函数、还有“方法”、“类”的巧妙使用。所以初学Python的朋友(非计算机专业)不太容易接受Python的编程思维,而更喜欢拥抱R语言。但当你发现Python的语法特点和技巧后,也许会更爱Python(至少我是这样的)。

功能对比

正如前文所说,R语言和Python几乎可以做数据分析和挖掘中的所有任务,都可以找到对应的第三方包。这里将通过汇总的方式,做一个有关R语言和Python的功能对比,帮助读者有的放矢地学习和掌握各种的第三方包,以及在不同的应用场景下,选择对应的第三方包实现内容的落地。

企业更倾向的她

打开招聘网站,搜索数据分析或挖掘的关键词,会出来很多的岗位,再仔细查看岗位的任职要求,你会发现基本上都需要应聘者掌握1~2门编程语言。如:

所以,不管是R语言还是Python,都非常受企业的欢迎。如果非要从其中抉择出一个更有优势的工具,我会选择Python。因为Python与其他大数据技术融合的更完美,更和谐,这也是为什么近几年Python特别火爆的原因吧。

各自的成长

最后看一看R语言和Python在近几年的成长趋势,也许从中你会有自己的判断和结论。首先对比2019年7月份的TIOBE指数(该指数是编程语言的排名榜):

从排名结果上来看,Python稳居第3,比2018年同期上位一格;但是R语言就没有那么幸运,目前排第20,同比掉了6格。

再来对比R语言和Python的热度指数曲线,如下图所示:

在2014年之前,R语言的热度相对比较平稳,但总体呈上涨趋势;而Python大起大落,成长过程并没有顺风顺水。2014年之后,R语言有了快速的发展,上升幅度非常大,直到2018年遇到了挫折,气势一路下降;Python相对进入平稳期,稳步上升,直到2018年后,出现了突飞猛进的态势。

0 人点赞