在PhD中,R语言依然很火,但是在时代的大潮流中,Python是王者。
Matt Asay (From MongoDB)2013年11月25号
对于数据科学家来说,R语言无疑是他们的选择,但是Python正在抢夺R语言的地盘。
关于这个改变有很多的原因,或许最大的原因是相对于R语言的难以掌握的复杂编程环境来说,Python更加通用,而且更加简单。
在一个越来越依赖数据世界,“简单”肯定会取得胜利。
R语言:并不真的是编程语言
人们煞费苦心地学习R语言一部分原因是它并不是一门编程语言。正如专家John Cook指出,R语言实际是一种数据统计的交互环境,并不真的是一门编程语言。他建议,与其把R语言看成一种编程语言倒不如认为它有编程语言的特性。
而且,R语言看起来一点都不像传统的编程语言,这对于将要成为R语言开发者来说,很难掌握。
但是R语言对于像这些数据统计的工具,比如SAS,SPSS,如Bob Muenchen指出R语言对于分析师来说可以说是减少了复杂度,因为它合并了宏(Marcro)和矩阵语言,而在其他语言中,比如SPSS,就需要你自己去掌握。但是如果期待R语言可以像Stata一样,他们会失望的。
综上,R语言。。。是不一样的,让事情变难了。。。
Python:降低了数据科学的门槛
然而Python是非常容易学习的。就拿一件事情来说吧,大多开发者都熟悉Python,而且可以在多种程序中使用它。不像R语言,只能用户数据分析领域,一个开发者可以在首次用脚本编写她的网站或者别的程序的时候就体验Python语言。
当企业苦苦地让数据工作的时候,他们还煞费苦心的寻找合格的数据科学家。然而,往往这样的数据科学家已经为他们工作了,而且应该熟悉Python。因为根据用户的数据提供正确的分析是如此的重要,所以在复杂的用户数据下,企业自己培养的大数据技术人才比需要自己培训新应聘的数据科学家高效得多。就像 Gartnet 的Svetlana Sicular所说的
一个Python统治所有
先不说使用现成的Python人才库,使用Python最大的受益是增加使用同一种编程语言在不同程序中的效率。德克萨斯大学奥斯汀分校研究员 Tai Yarkoni 解释:
已经表明使用同一种语言进行开发和分析会受益匪浅。就这么一点来说吧,当你可以只用一种语言来做所有的事情,你没有必要折磨自己说,Ruby使用block代替缩进,或者你需要在Python中调用数组的
len
方法而不是array.length
来获取数组的长度。
而且,你永远不用担心项目中不同语言之间的接口问题。没有比在Python中处理相同的文字数据烦人了,最后把它们变成你想要的格式,然后才知道你不得不把它们以另一种格式写入磁盘,以至于你可以把它们转交给R语言或者Matlab来进行别的分析。个别的,这不是大问题。在Python中把它们以CSV格式或者JSON格式文件输出,在R中读取,进行加和。如果只用一种语言,所有这些都不再会有。
这并没有夸张的部分。当我们赞美合适的技术很好地解决了我们的问题的时候,技术就会胜出,这是通用的道理。就像 Optimization and Analytics 的 AppNexus 的董事David Himrod说的,“在AppNexus面临的最大的挑战是如何在统一技术领域聘到多样的员工。Python为员工提供了不同的背景,特别是工程师,数学家,分析师---一种常见的,简单易懂的语言可以被公司用来定义新的功能原型。”
使用Python的主流的数据科学
Python在数据分析方面仍然欠缺一些R语言的丰富性,但是二者的间距正在快速缩小.
要记住:Python成功的关键不是它处理神秘方法的能力上比R语言或者别的与前强,而是它容易学习和通用性。数据科学已经脱离初级极客的境界了,在上个月O'Reilly Strata大会上已经非常明显了。哲学博士们曾经常常出没的大会,现在普通的经济分析师和一些受企业派遣去分析大数据的人,已经成为此次大会的主要参加者。
这次新的大会更倾向于使用Python而不是R语言。Python相对来说简单易用,而且它们已经在别的项目中使用了它。在别的方面,人们更加倾向于已经精通的或者简单易学的工具而不是强大而复杂的工具,如果可能的话,应该避免使用这样强大而复杂的工具。
Source:http://readwrite.com/2013/11/25/python-displacing-r-as-the-programming-language-for-data-science