你好,游客 登录
背景:
阅读新闻

Sas R和Python的比较 | 数据分析的工具选择

[日期:2017-07-06] 来源:analyticsvidhya.com  作者:Kunal Jain [字体: ]

  过去几年,数据分析界被R弄得神魂颠倒,但R的风潮尚未过去,Python又兴起了,并有愈演愈烈之势。而传统的数据分析工具,老牌的SAS和SPSS依然还占据市场,那我们究竟该如何选择数据分析工具呢?

大数据

  SAS和R的比较已经是分析界最大的争论了,Python也值得一辩。本文再对这三个工具进行比较和讨论,希望大家可以从中获得收益。

  难道这样的比较还不够多吗?

  很多了!但是我仍然觉得有必要再讨论,因为:

  咱们这行日新月异,变化很快;

  此前的比较一直都不太重视Python,我认为现在咱们需要认真的考虑一下它;

  本文是从全球的角度来比较这三个工具的应用情况。

  背景

  关于这三者的简单介绍:

  (1)SAS:在商业分析领域,它是无可争辩的霸主。SAS提供了丰富的统计功能,友好的GUI界面可以让分析师快速上手,技术支持也做的相当到位。但,太贵了,并且对于一些最新的统计分析方法,SAS更新比较慢。

  (2)R:R可以看做SAS的一个“开源版本”,在学术研究上的应用一直很广泛。由于它是开源的,新的模型和算法也更新很快,并且网上有很多说明文档,是个蛮划算的选择。

  (3)Python:最早是一个开源脚本语言,近几年使用率大增。如今一些库(如numpy、scipy和matplotlib)和函数的引入,也使得它能支持几乎所有统计分析和统计建模工作。另外也由于Pandas这个库,使得Python在结构化数据的处理上非常给力。

  比较

  我将从如下几个方面来比较这三个工具:

  1. 成本

  2. 易学性

  3. 数据处理能力

  4. 图形处理能力

  5. 更新速度

  6. 工作前景

  7. 客服支持和社区资源

  对于每一个方面,作者都给出了一个评分(1分最低、5分最高)。

  1. 成本

  SAS是商业软件,对于大部分分析师个人来说,是根本买不起的!但是SAS在机构或公司中拥有最高的市场份额。而R和Python是免费的,并且可以任意下载,所以我的评分是:

  SAS - 2

  R - 5

  Python - 5

  2. 易学性

  首先,SAS非常容易上手,比如它的PROC SQL命令,对于任何一个学过SQL的人来说都可以立即上手。并且SAS有一个很好的GUI界面,网上有很多学习资源。SAS公司也提供了资格认证考试,当然,这又增加了学习者的成本。

  R的使用要求懂一点编程,但它是一个低阶的编程语言,也因此一个简单的程序需要编写更长的代码。

  在编程界,Python以简易性闻名,在数据分析界也是如此。虽然目前为止还没有一个很好的GUI界面,但我希望Python的notebook可以变得越来越主流,因为它非常方面编辑、记录与分享。

  SAS - 4.5

  R - 2.5

  Python - 3.5

  3. 数据处理能力

  数据处理能力曾经一直是SAS的优势。R的计算都在RAM内存中进行,于是它的计算过程受限于32位机器的RAM内存大小。当然,这一切都将不再是问题,这三种软件都有非常好的数据处理能力并且可以并行计算。

  因此在我看来数据处理能力已经不能区分这三个工具(当然可能有一些我并不知道的创新),因此我给它们打分一样:

  SAS - 4

  R - 4

  Python - 4

  4. 图形处理能力

  SAS在“功能性”图形处理上表现不错,然而仅仅是对“功能性”而言。如果你想对图进行一些定制化的修改,则需要去了解纷繁难懂的SAS图形包。

  与其他2款软件相比,R在图形处理上的表现最好,有非常多的包可以帮你实现。

  Python的表现居中,你不仅可以使用本地库(matplotlib),还可以调用R使用一些衍生库。

  SAS - 3

  R - 4.5

  Python - 4

  5. 更新速度

  这三个工具都提供了基本的、以及最常用的分析函数,你可以应付大部分模型的构建。但假如,你正好需要使用最新最前沿的技术或算法怎么办?

  R和Python由于其开源性,算法可以很快得到更新,R因为一直广泛使用于学术界,因此更新最快,SAS则要再下一个版本中得到更新。

  但从另一方面来说,SAS的更新是自有的研发团队完成的,并且得到了很好的测试。而R和Python的更新是“公开贡献”的,出错的可能性要比较大。

  SAS - 4

  R - 4.5

  Python - 4

  6. 工作前景

  全球而言,SAS仍然是公司和机构中使用最多的工具,尤其是大型公司。而R/ Python更多是初创公司的选择,或者是一些想要节约成本的公司。最近几年,R和Python在工作中的使用率增长很快,下面是网络上公开的,使用R和Python的工作数量趋势图:

  在印度(注:作者是印度人),我估计SAS占据约70%的市场份额,R大概15%,而Python不到5%,但增长趋势与全球差不多。

  SAS - 4.5

  R - 3.5

  Python - 2.5

  7. 客服支持和社区资源

  R有最大的在线社区,但没有客服支持,因此出现麻烦只能自己想办法解决,当然也会得到别人的很多帮助,Python也类似。

  SAS有专门的客服支持系统,也有在线社区,所以如果遇到安装或者其他问题,你可以找他们解决。

  SAS - 4

  R - 3.5

  Python - 3

  8. 其他因素

  还有几点值得注意:

  Python在网站开发中应用广泛,所以如果你从事的是互联网相关工作,用Python会比较方便。

  SAS在端到端的部署上(可视化分析、数据仓库等),曾经有巨大的优势,但由于近年一些平台如SAP HANA和Tableau上对R的集成和支持,使得SAS的这一优势下降。尽管和SAS的无缝集成相比差距还很远,但道路已经开启。

  结论

  行业日新月异,现在说谁输谁赢还太早,根据你自己的情况(职业阶段、财务情况等),选择合适自己的。这里有几个小建议:

  如果你是数据分析行业里的新人,我会建议你首先使用SAS,它非常好学,并且市场占有率最高。

  如果你在数据分析行业已经摸爬滚打了几年,那你应该学习一个新的工具来扩展你的专业技能。

  对于此行业里的专业人士,至少应该掌握2种工具,以应对未来的机会与挑战。

  如果你在一家创业公司,或者你是个自由职业者——我想你还是老老实实用R或者Python吧!

  最后的得分总结如下:





收藏 推荐 打印 | 录入:elainebo | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款