R vs. Python,数据分析中谁与争锋?

R和Python两者谁更适合数据分析领域?在某些特定情况下谁会更有优势?还是一个天生在各方面都比另一个更好?

当我们想要选择一种编程语言进行数据分析时,相信大多数人都会想到R和Python——但是从这两个非常强大、灵活的数据分析语言中二选一是非常困难的。

我承认我还没能从这两个数据科学家喜爱的语言中选出更好的那一个。因此,为了使事情变得有趣,本文将介绍一些关于这两种语言的详细信息,并将决策权留给读者。值得一提的是,有多种途径可以了解这两种语言各自的优缺点。然而在我看来,这两种语言之间其实有很强的关联。

Stack Overflow趋势对比

上图显示了自从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:针对专业程序员的热门软件包

  • 用于数据操作的 dplyr、plyr和 data table
  • 用于字符串操作的 stringr
  • 定期和不定期时间序列 zoo
  • 数据可视化工具 ggvis、lattice 和 ggplot2
  • 用于机器学习的 caret

R:针对非专业程序员的热门软件包

  • Rattle
  • R Commander
  • Deducer

这些完整的GUI包可以实现强大的数据统计和建模功能。

Python:针对专业程序员的热门库

  • 用于数据分析的 pandas
  • 用于科学计算的 SciPy 和 NumPy
  • 用于机器学习的 scikit-learn
  • 图表库 matplotlib
  • statsmodels 用来探索数据,估算统计模型,并执行统计测试和单元测试

Python:针对非专业程序员的热门库

  • Orange Canvas 3.0是遵循GPL协议的开源软件包。它使用一些常用的Python开源库进行科学计算,包括numpy、scipy和scikit-learn。

正如本文开头提到的,R和Python之间有很强的关联,并且这两种语言日益普及。很难说哪一种更好,它们两者的整合在数据科学界激起了许多积极和协作的波澜。

总结

事实上,日常用户和数据科学家可以同时利用这两者语言,因为R用户可以在R中通过 rPython包来运行R中的Python代码,而Python用户可以通过RPy2库在Python环境中运行R代码。

原文:R vs. Python (https://dzone.com/articles/r-or-python-data-scientists-delight) 作者:Sunil Kappal 译者:安翔

原文发布于微信公众号 - CSDN技术头条(CSDN_Tech)

原文发表时间:2017-10-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云加头条

邹辉:新时代运维重器 Tencent Hub 最佳实践

腾讯云 PaaS 产品总监邹辉在腾讯“云+未来”峰会的「开发者专场」做了主题为“新时代运维重器 Tencent Hub 最佳实践”的技术内容分享,针对DevOp...

5580
来自专栏云市场·精选汇

微信小程序开发需要什么技术?

2017年说小程序会火还是猜测,到了2018年,似乎大部分企业都意识到小程序必火,截止18年4月份,小程序投资金额已达70亿。一个整合和9亿用户的平台、一个互联...

5935
来自专栏IT大咖说

天天写业务代码,如何成为技术大牛!

不管是开发、测试、运维,每个技术人员心理多多少少都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己...

1313
来自专栏敏捷开发&项目管理

软件架构设计--质量驱动

作为一个有多年程序编程经验的程序员,很多人的梦想是最早成为一名软件架构师,因为这个职位和工作内容听起来很神秘而拥有这个能力的人就像一位武林高手。 在真正尝试做架...

2928
来自专栏小程序服务商

开发小程序公司如何选择 定制制作微信小程序多少钱?

首先,看其有无负面消息。在各大搜素引擎中搜索该公司的名字,如果出现“骗子”、“骗人”等负面性词汇时,则表明该公司对外的口碑并不好。反之,如果没有任何负面消息出现...

2731
来自专栏BestSDK

谷歌发布Poly API,直接在VR中寻找3D资源

Poly是一个免版税的3D对象和“场景”库,开发者可以将相关内容应用至VR或增强现实应用,游戏和其他程序。谷歌希望为创作者提供填充世界的3D对象,从而提高他们的...

3465
来自专栏程序员互动联盟

那些游戏外挂作者的技术与一般程序员比,谁更厉害?

游戏外挂和程序员相比有相通之处,也有极大的不同,游戏外挂属于游戏逆向,逆向类别的东西不确定性很强,不同游戏采用的外挂辅助也不一定相同,游戏辅助从类型上一般分为以...

1423
来自专栏DevOps时代的专栏

中国银行 DevOps 历程、 效果及展望

? 讲师 | 张新 编辑 | 白凡 作者简介: ? 个人简介:张新,曾从事中国银行软件设计开发工作,熟悉银行业务系统和开发过程;现作为中国银行软件中心DevO...

4464
来自专栏逸鹏说道

从涂鸦到发布——理解API的设计过程

  英文原文:From Doodles to Delivery: An API Design Process   要想设计出可以正常运行的Web API,对基于...

3354
来自专栏Python小屋

Python基于用户协同过滤算法的电影推荐代码demo

这是上午上课时即兴发挥并现场编写的一段小代码,稍微美化一下分享。 思路:假设已有若干用户名字及其喜欢的电影清单,现有某用户,已看过并喜欢一些电影,现在想找个新电...

4096

扫码关注云+社区

领取腾讯云代金券