R和Python两者谁更适合数据分析领域?在某些特定情况下谁会更有优势?还是一个天生在各方面都比另一个更好?
当我们想要选择一种编程语言进行数据分析时,相信大多数人都会想到R和Python——但是从这两个非常强大、灵活的数据分析语言中二选一是非常困难的。
我承认我还没能从这两个数据科学家喜爱的语言中选出更好的那一个。因此,为了使事情变得有趣,本文将介绍一些关于这两种语言的详细信息,并将决策权留给读者。值得一提的是,有多种途径可以了解这两种语言各自的优缺点。然而在我看来,这两种语言之间其实有很强的关联。
上图显示了自从2008年(Stack Overflow 成立)以来,这两种语言随着时间的推移而发生的变化。
R和Python在数据科学领域展开激烈竞争,我们来看看他们各自的平台份额,并将2016与2017年进行比较:
接下来我们将从适用场景、数据处理能力、任务、安装难度以及开放工具等方面详细了解这两种语言。
R适用于数据分析任务需要独立计算或单个服务器的应用场景。Python作为一种粘合剂语言,在数据分析任务中需要与Web应用程序集成或者当一条统计代码需要插入到生产数据库中时,使用Python更好。
在进行探索性统计分析时,R胜出。它非常适合初学者,统计模型仅需几行代码即可实现。Python作为一个完整而强大的编程语言,是部署用于生产使用的算法的有力工具。
有了大量针对专业程序员以及非专业程序员的软件包和库的支持,不管是执行统计测试还是创建机器学习模型,R语言都得心应手。
Python初在数据分析方面不是特别擅长,但随着NumPy、Pandas以及其他扩展库的推出,它已经逐渐在数据分析领域获得了广泛的应用。
对于R语言,需要使用R Studio。对于Python,有很多Python IDE可供选择,其中Spyder和IPython Notebook是受欢迎的。
下面罗列了R和Python推出的针对专业以及非专业程序员的热门的软件包和库。
R:针对专业程序员的热门软件包
R:针对非专业程序员的热门软件包
这些完整的GUI包可以实现强大的数据统计和建模功能。
Python:针对专业程序员的热门库
Python:针对非专业程序员的热门库
R 语言 | Python 语言 | |
---|---|---|
创造者 | Ross Ihaka 和 Robert Gentleman | Guido van Rossum |
发布时间 | 1995年 | 1991年 |
必知道 | R 是 S 语言(贝尔实验室)的一种实现。 R 的设计和演进由 R 核心组和 R 基金会处理。R 的软件环境由 C、Fortran 和 R 编写. | Python 受到 C、Modula-3 和 ABC 的启发。Python 名字源于“Monty Python’s Flying Circus”喜剧系列。Python 软件基金会(PSF)负责 Python 的推进。 |
目的 | R 专注于用户友好的数据分析、统计和图形模型。 | Python 强调生产力和代码可读性。 |
可用性 | 几行代码即可实现统计模型。R 样式表不是任何人都都有使用。同一功能可以用多种方式编写实现。 | 漂亮的语法使得 Python 易于编码和调试。代码缩进可能会影响程序含义。同一功能只能用一种方式实现。 |
学习难度 | R 在初学时有一个陡峭的学习曲线。但是,一旦掌握基础知识,就可以轻松学习复杂的东西。对于经验丰富的程序员来说,R 并不难。 | Python 的可读性和简单性使其学习曲线相对较低和平缓。Python 被认为是适合初学者的编程语言。 |
正如本文开头提到的,R和Python之间有很强的关联,并且这两种语言日益普及。很难说哪一种更好,它们两者的整合在数据科学界激起了许多积极和协作的波澜。
事实上,日常用户和数据科学家可以同时利用这两者语言,因为R用户可以在R中通过 rPython包来运行R中的Python代码,而Python用户可以通过RPy2库在Python环境中运行R代码。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是一个个人学习交流的平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽,造成漏登,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。