再更新:
rstudio.github.io/reticulate/ 甜过初恋 爽到飞起
更新:
r大神Hadley Wickham和python大神Wes McKinney已经牵头开始着手做基于apache arrow的两个语言的融合project了:http://wesmckinney.com/blog/announcing-ursalabs/
原答:
着重说一下统计/大数据/数据科学领域啊。stata没有什么可比性。别说stata。。sas都逐渐没有了可比性。python和r各有各的好。简单讲,这俩工具是cs和统计两个流派气息很重的工具。相较之下python更能体现cs的思维,而r对于统计的人来说基本是承载着从理论到实现的一个应用。当然这也跟这两个语言的历史有深远关系。python本身就是和c联系紧密,而r是基于s语言。虽然现在他们都有各自可以call其他底层语言的能力,但是这些历史原因也造就了他们的特质。python更像是一个全能型工具,拿来写ui什么的也是完全没问题(这不是说r 不可以做ui只是难用)。另外在大数据背景下,python的兼容性明显要强很多。python那些nlp的东西也是很大的优势。而r的明显优势也是跟他的统计思维有关系。就像有答案说的,这统计的人写给自己使用的,因此关于分析的那一套东西,r的各种包太多了太丰富了,一旦统计上有一丁点的突破,就会有developer写出一个包把理论转化为易操作的函数也就是做了理论的算法实现。当然其他领域有一点能用的,r也会有人给写个包。。。这一点如果不长期关注统计,不深入的使用python和r可能无法体会。python其实也有这个特质但是跟r还不能比。这也跟python的传统用户多为cs背景而不是统计分析背景有关系。python跟底层语言的交互带来的方便也是一大特点,所以你看很多做量化交易的不会选r而自然选python(当然底层语言的大牛在这个领域有着不可动摇的话语权)。直接对比,个人觉得r比较适合用来做策略,模型开发。python比较适合拿来整体实现你的模型。总的来说这两种语言是不断的在相互学习。未来的话,这两种语言很有可能会长期存在,不断吃掉其他分析语言比如sas, matlab的市场份额。曾经让很多分析语言商业化进而得以大规模推广的策略,已经逐渐的不适应这个新的大数据时代了。开源成为了很大的一个优势,知识共享成果共享很重要。闭门造车的速度毕竟太慢。再一个是老的语言,特别是像sas这种,夸张一点讲,还存在的一个很大的原因就是有一大帮传统用户,企业用户。然而这些传统用户在今天已经很难创造大的价值了。特别是以corporate america,500 强很多公司为代表的那些企业。不过说两句题外话,1数据科学除了分析之外也会有很多底层开发的需求,所以能懂一两种底层语言是很大的优势。2另外未来也很看好scala。