文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何让充分利用R+Python

2023-06-16 22:11

关注

今天就跟大家聊聊有关如何让充分利用R+Python,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

如果你从事数据科学的工作,可能会立即想到两种编程语言:R和Python。

事实上,R和Python本身是很好的工具,但通常被认为是竞争对手。今天推荐的这篇文章将会把两者进行比较,而不是将它们视为两种选择。

如果你在Google搜索栏中输入R vs Python,会立即获得大量有关一方的优势的文章。

产生这种结果的原因之一,是人们根据他们根据对编程语言使用的选择将数据科学领域划分为阵营,一个R营地和一个Python营地。而且这两个阵营往往不能和谐相处,其中的成员都相信他们的语言优于对方。因此,在某种程度上,分歧并不在于工具,而在于——

如何让充分利用R+Python

为什么不同时使用呢?

数据科学中有很少一部分人同时使用Python和R。但事实上,有很多人虽然只用一种编程语言,但他们也想要使用另一个软件的某些功能。例如,R用户有时会想要使用Python本机的面向对象能力,同样,一些Python用户也想用R中的各种统计分布。

如何让充分利用R+Python

上图是Red Monk在2018年第三季度进行的调查结果。这个调查数据来源于Stack  Overflow和Github上的语言的流行度,它清楚地表明R和Python普及度都比较高。因此,没有内在的理由说明为什么我们不能在同一个项目上同时使用二者。我们的最终目标应该是更好地分析并获得更好的理解,编程语言的选择不应成为实现这一目标的障碍。

R与Python回顾

让我们来看看这些语言以及它们的优缺点。

如何让充分利用R+Python

Python

自1991年发布以来,Python一直非常受欢迎,并广泛用于数据处理。优点有:

但是,与R不同,Python没有用于统计计算的专用包。

如何让充分利用R+Python

R

R的***个版本发布于1995年,从那时起它就成为业界最常用的数据科学工具之一。

性能良好的R不是最快的语言,并且在处理大型数据集时有时可能会内存过多。

充分利用这两种语言

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

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

在Python中使用R

(http://bioinfo.ihb.ac.cn/softwares/PypeR/)

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

如何让充分利用R+Python

pyRserve

(https://pypi.org/project/pyRserve/)

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

(https://rpy2.bitbucket.io/)

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

如何让充分利用R+Python

在Python中使用R的一个优点是可以在Python中轻易使用R的强大软件包,如ggplot2,tidyr,dplyr等。举一个例子,让我们看看如何在Python中使用ggplot2进行映射。

https://rpy2.github.io/doc/latest/html/graphics.html#plot

如何让充分利用R+Python

https://rpy2.github.io/doc/latest/html/graphics.html#geometry

如何让充分利用R+Python

在R中使用Python

我们可以使用下面其中一种替代方法在Python中运行R脚本:

(https://r-forge.r-project.org/projects/rjython/)

该包通过Jython实现了Python的接口。它旨在让其他包能够与R一起嵌入python代码。

(https://cran.r-project.org/web/packages/rPython/index.html)

rPython又是一个允许R调用Python的包。它使得在R中运行Python代码,进行函数调用,分配和检索变量等成为可能。

(https://github.com/asieira/SnakeCharmR)

SnakeCharmR是rPython的现代版本。它是'rPython'的一个分支,它用了'jsonlite'并且比rPython有很多进步之处。

(https://bitbucket.org/Floooo/pythoninr/)

PythonInR通过提供从内部与Python交互的函数,使得从R内部访问Python变得非常容易。

(https://github.com/rstudio/reticulate)

网状软件包为Python和R之间的互操作性提供了一套全面的工具。在上述所有选择中,这个是最广泛使用的,更是因为它正在被Rstudio积极开发。Reticulate在R会话中嵌入Python会话,实现无缝、高性能的互操作性。该软件包使你能够将Python代码网格化为R,从而创建一个将两种语言编织在一起的新项目。

如何让充分利用R+Python

网状包提供以下设施:

R和Python都是非常强大的语言,其中任何一种语言都足以执行数据分析任务。但是,对于这两者来说肯定存在一些优缺点,如果我们能够利用两者的优势,一定可以做得更好。无论如何,对二者进行充分的了解能够让我们在更多的环境中进行工作。上述就是小编为大家分享的如何让充分利用R+Python了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网行业资讯频道。

看完上述内容,你们对如何让充分利用R+Python有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯