数据科学中R VS Python:获胜者是...

数据科学中R VS Python:获胜者是…

在”最佳”数据科学工具的比赛中,R和Python都有自己的优缺点.对二者的选择取决于使用背景,学习花费和其他常用工具的需要

Martijn Theuwissen发表于DataCamp.

在DataCamp,学生经常问我们他们日常数据分析任务使用R或Python。虽然我们主要是提供交互式R教程,我们总是回答这个问题取决于他们所面对的数据分析挑战的类型。
R和Python都是流行的统计编程语言.R的功能由统计学家开发(想想R强大的数据可视化能力),Python常常被称赞为易于理解的语法.

本文中,我们重点介绍R和Python的不同,以及二者如何在数据科学和统计世界中占有位置的.如果你更喜欢视觉展现,确保检查出相应的信息图表”数据科学的战争:R vs Python“.

R的介绍

Ross Ihaka 和 Robert Gentleman 1995年创建开源语言R作为S编程语言的实现.其目的是开发一个提供更好更人性化数学据分析,统计和图形模型的语言.最初,R主要是在学术和研究中使用,最近其余也开始使用R.这使得R成为全球发展最快的统计语言.

R的主要优势的其强大的社区,通过邮件列表,用户贡献文档和一个非常活跃的Stack Overflow小组提供支持.还有CRAN,一个用户可以轻松贡献R包的巨大资源库.这些软件包是一个R函数和数据的集合,可以马上访问最新技术和功能,不需要从头开始开发.

最后,如果你是一个有经验的程序员,学习R可能并不难.然而作为一个初学者,你可能会感觉到非常纠结.幸运的是,有许多你可以咨询的当下的学习资源.

Python的介绍

Python是由Guido van Rossum 1991年创建,强调效率和代码的可读性。希望深入的数据分析或应用统计技术的程序员一些Python用于统计的主要用户。

你越接近在工程环境中工作,越有可能更喜欢Python。它是一种灵活的语言,并让其专注于可读性和简单性,它的学习曲线是比较低的。

与R类似,Python同样有包。PyPI是Python包的索引,由用户贡献的库组成。就像R,Python有一个伟大的社区,但它有点分散,因为它是一个通用的语言。然而,Python中数据科学正在迅速声称在Python世界中更占优势的地位:预期正在成长,更具创新性的科学数据的应用程序将在这里看到自己的起源。

R和Python:通用量

在网络上,你可以找到许多比较R和Python使用和普及的数量。虽然这些数字往往告诉我们这两种语言是在计算机科学的整个生态系统发展的很好,这很难横向对比。造成这种情况的主要原因是,你只会在数据科学环境发现R;而另一方面,Python作为一种通用语言被广泛应用于许多领域,如网络开发。这往往偏向有利于Python中的排名结果,而结果是有些负面影响。
数据科学中R VS Python:获胜者是..._第1张图片

什么时候,如何使用R?

R主要用于当数据分析任务需要各个服务器独立计算或分析。探索性的工作非常棒,对于几乎任何类型的数据分析得心应手,因为大量的包和容易使用的测试,经常为你提供必要的工具,快速启动和运行. R甚至可以是大数据解决方案的一部分。

当开始使用R,一个良好的第一步骤是安装神奇的 IDE RStudio。一旦做到这一点,我们建议您看看下面的流行的包:

dplyr,plyr和data.table轻松地操纵包,  
stringr操作字符串,
zoo处理定期和不定期的时间序列,
ggvis,lattice,和GGPLOT2可视化数据,
caret 机器学习

什么时候,如何使用Python?

当你的数据分析任务需要整合Web应用程序,或者如果统计代码需要纳入生产数据库时,可以使用Python。作为一个完全成熟的编程语言,它是实现生产使用算法一个伟大的工具。

而过去Python包进行数据分析不成熟是一个问题,多年来这已经显著改善。请确保安装NumPy /SciPy的(科学计算)和pandas (数据处理),以使Python可用于数据分析。也看看matplotlib制作图形和scikit-learn用于机器学习。

不像R,Python有没有明确的“最优”IDE。我们建议你使用Spyder,IPython Notebook 和Rodeo ,看看哪一个最适合您的需求。

R和Python:数据科学的数量

如果你看一下最近的民意调查,重点用于数据分析的编程语言,R往往是明显的赢家。如果您特别注重Python和R数据分析领域,会得到一个类似的模式。
数据科学中R VS Python:获胜者是..._第2张图片
尽管上述数字,有越来越多的人从R转向Python。此外,有越来越多人同时使用二者。这也正符合我们推荐给学生。

如果你打算开始数据科学的职业生涯,最好熟练两种语言。招聘趋势显示这两个技能的需求不断增加,工资又远高于平均水平。

R:优点和缺点

Pro :一张图片胜过比千言万语

可视数据通常比单独的原始数据更易于理解。 R和可视化是一个完美的搭配。一些必看的可视化包是GGPLOT2,ggvis,googleVis和rCharts。

Pro:R生态系统

R有丰富的生态系统,其中包括前沿的包和活跃的社区。包可CRAN,Bioconductor和Github上得到。您可以在Rdocumentation搜索所有的包。

Pro:数据科学中用得上R

R由统计学家为统计专家开发。他们可以通过R代码和包传达的思想和观念,你不一定需要计算机科学的背景。此外,学术界外的人们越来越多的使用R。

Pro/CON:R很慢

r的开发是为了让统计人员的生活更轻松,而不是你的电脑的使用寿命。虽然R可能运行缓慢是由于写得不好的代码,有多个包来提高的r性能:PQR,renjin 和FastR,Riposte 等等。

CON:R有一个陡峭的学习曲线

R学习曲线很复杂,特别是如果你是来自统计分析的GUI。如果你不熟悉它,即便寻找包可能会非常耗时。

Python:优点和缺点

Pro:IPython Notebook

IPython Notebook更容易处理Python和数据。您可以轻松地与同事共享notebooks ,无需他们安装任何东西。这大大减少了组织代码,输出和注释文件的开销。这将让您花更多的时间做实际工作。

Pro:通用语言

Python是容易和直观的通用语言。这给了它一个相对平坦的学习曲线,它可以增加你写一个程序的速度。总之,你需要更少的时间写代码!

此外,Python测试框架是一个内置的地要求的测试框架,鼓励良好的测试覆盖率。这样可以保证你的代码是可重复使用的和可靠的。

Pro:一个多用途的语言

Python将不同背景的人聚集在一起。作为一个通用的,容易理解的语言,统计学家可以很容易地学会,你可以建立一个单一的工具集成您的工作流程的每一个部分。

Pro/ CON:可视化

选择数据分析软件时,可视化是一个重要的标准。虽然Python有一些不错的可视化库,如Seaborn,Bokeh 和Pygal,有太多可供选择的方案。此外,相比于R,可视化通常是比较繁琐,结果并不总是那么顺眼。

CON:Python是挑战者

Python是R的挑战者.它不提供数百必不可少的R包的替代。虽然它正在追赶,目前还不清楚这是否会让人放弃了R?

谁是胜利者?

由你决定!作为一名数据科学家,选择最符合需求的语言是你的工作。有些问题可以帮助你:

你想解决什么问题?
学习语言的净成本是什么?
在你的领域中常用的工具是什么?
其他可用的工具是什么和这些相关工具日常中是如何使用的?

希望对你是有帮助的!

你可能感兴趣的:(大数据)