设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

放弃 PK,拥抱合作——R 和 Python 能做出什么新花样?

发布时间:2019-05-10 17:54 所属栏目:21 来源:酱番梨、董星、CONFIDANT、穿着凉鞋走天下翻译
导读:我们更应该关注的是技能,而不是工具。 如果你想进入数据科学领域,你可能立即会想到R和Python。然而,我们并不是要以作为两种选择来考虑他们,相反地,我们更多的是去比较他们。R和Pyhton在他们各自的领域里,都是非常完美的工具。尽管如此,他们往往成为

放弃 PK,拥抱合作——R 和 Python 能做出什么新花样?

我们更应该关注的是技能,而不是工具。

如果你想进入数据科学领域,你可能立即会想到R和Python。然而,我们并不是要以作为两种选择来考虑他们,相反地,我们更多的是去比较他们。R和Pyhton在他们各自的领域里,都是非常完美的工具。尽管如此,他们往往成为各自敌人而争吵。如果你在谷歌搜索栏里输入“R vs Python”,你会看到非常多的关于他们霸权之争。

放弃 PK,拥抱合作——R 和 Python 能做出什么新花样?

产生这种观点的原因之一是,人们根据所使用的编程语言的选择将数据科学领域划分为不同的阵营——R阵营和Python阵营,历史证明了两个阵营不能和谐相处。两大阵营的成员都坚信他们对语言的选择优于对方。所以,在某种程度上,分歧不在于工具,而在于使用这些工具的人。

为啥不能将两者结合?

在数据科学领域中有一些人同时使用Python和R,但是他们的比例很小。另一方面,有很多人只致力于一种编程语言,但他们希望能够使用对手的一些功能。例如,R用户有时渴望Python固有的面向对象能力,同样地,一些Python用户渴望R中可用的统计分布的广泛范围。

放弃 PK,拥抱合作——R 和 Python 能做出什么新花样?

上图显示的是Red Monk在2018年第三季度的调查结果。这些结果是基于Stack Overflow和Github上流行的语言得出的,并清楚地表明R和Python的评分都很高。因此,我们没有内在的理由不能在同一个项目上与他们一起工作。我们的最终目标应该是做更好的分析,得出更好的见解,选择一种编程语言不应该成为实现这一目标的障碍。

纵观R和python

让我们来看看这两种语言的各个方面和他们有哪些优势与弊端。

Pyhton

自发布于与1991年,pyhton变得十分流行并且它广泛地用于数据处理。以下就是python为什么这么流行的原因:

  • 面对对象
  • 通用
  • 有大量的扩展库和无与伦比的社区支持
  • 易于理解和学习

由于拥有大量用于科学计算和机器学习的包,例如pandas,numpy 和scikit-learn,这使得在机器学习领域中,python变成了一个完美的选择。

不幸的是,pyhton并没有专门用于统计计算的包。但是,R有。

R

R在1995年发布。从那时候开始,R在数据科学领域就变成了最有用的工具之一。它具有如下优势:

  • R几乎拥有所能想到的用于统计计算的包。CRAN目前已经拥有超过10000个包了。
  • 配备了完美的可视化库,例如ggplot。
  • 能够进行独立分析

R虽然性能如此强大,但是它不是最快的语言并且在处理大数据集的时候可能会消耗大量的内存。

两全其美

我们可以利用R的统计能力和Python的编程能力吗?那么,当我们可以很容易地在R或Python脚本中嵌入SQL代码时,为什么不将R和Python混合在一起呢?

基本上有两种方法可以同时在一个项目中使用Python和R。

Python中的R

PypeR

PypeR提供了一种通过管道从Python访问R的简单方法。PypeR还包含在Python的包索引中,这为安装提供了更方便的方法。当不需要在Python和R之间频繁地交互数据传输时,PypeR特别有用。通过管道运行R, Python程序在子进程控制、内存控制和跨流行操作系统平台(包括Windows、GNU Linux和Mac OS)的可移植性方面获得了灵活性。

pyRserve

pyRserve使用Rserve作为RPC连接网关。通过这样的连接,可以在Python的R中设置变量,也可以远程调用R函数。R对象作为python实现的类的实例公开,在许多情况下,R函数作为这些对象的绑定方法。

rpy2

rpy2在Python进程中运行嵌入式R。它创建了一个框架,可以将Python对象转换为R对象,将它们传递给R函数,并将R输出转换回Python对象。rpy2使用得更多,因为它是一个正在积极开发的。

rpy2在Python进程中运行嵌入式R。它创建了一个框架,可以将Python对象转换为R对象,将它们传递给R函数,并将R输出转换回Python对象。由于它是一个正在积极开发的项目,所以它被使用得更频繁。

Basic Plot

放弃 PK,拥抱合作——R 和 Python 能做出什么新花样?
https://rpy2.github.io/doc/latest/html/graphics.html#plot

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读