Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >工具 | 如何在Python中调用R语言包?

工具 | 如何在Python中调用R语言包?

作者头像
小莹莹
发布于 2018-04-24 08:11:58
发布于 2018-04-24 08:11:58
12.1K0
举报

R语言是非常强大的做统计分析和建模方面的开源软件,它有非常丰富的统计软件包,做统计可以说只有你想不到的,没有R办不到的。Python又是当下最流行的编程软件之一,Python也是开源的,包含了非常丰富的第三方库(如机器学习算法),那么如何让Python和R共同工作呢?利用Python中的rpy2包就可以实现这一想法。

如何安装rpy2?

首先需要安装Python的科学计算环境Anaconda和R软件(最好再安装个Rstudio,好用到爆的R软件IDE,安装和管理R包太方便了),安装好Anaconda和R软件后,在系统的命令提示符里输入:

conda install -c r rpy2=2.8.5

我这里已经安装好了,如下:

这里是用Anaconda的conda install方法安装Python包,可不要小看了这个安装方法,如果用pip install rpy2、easy install rpy2或者把rpy2包下载到本地使用python setup.py install方法安装rpy2包可就各种出错啦!!有人好受的......conda install这个方法作者找了很久,至少百度上介绍的所有安装rpy2的方法基本都会或多或少地报错。

加载rpy2与rpy2包的内容

rpy2,可以实现使用python读取R的对象、调用R的方法以及Python与R数据结构转换等。

(1)加载rpy2

rpy2包里面包含下面的内容:

我们使用最多的就是robjects这个高水平交互的方法。

如何使用ry2

(1)在Python中加载R软件包

需要用到robjects中的packages里面的importr函数,我们以R中的stats包和ggplot2包为例,ggplot2是R中超级强大的绘图包。当然,需要先在R软件中加载这两个包。

(2)访问R实例

需要用到robjects.r,它是在Python中的嵌入式R进程,把r当作从python走向R的通道来看就可以了。通过r实例,我们可以读取R的内置变量、调用R的函数、甚至,直接把它当作R的解析器来用。

上面用了三种方式来访问R对象中的pi,分别把r实例当作字典,把r实例当作方法,把r实例当作一个类对象。

还可以用过R实例,直接在Python中写R代码:

总之用robjects.r(' '),括号里面可以直接敲R的代码就是了!!

(3)利用robjects创建R向量

创建R的字符型、整形和浮点型向量

(4)调用R函数

利用robjects.r(' ')调用R中的函数,以sum求和函数和sort排序函数为例

(5)调用R语言绘图

example1:

得到下面的结果:

example2:利用R的ggplot2包绘图

得到如下结果:

(6)调用R的stats包进行方差分析

得到如下结果:

总结

本文主要介绍了利用rpy2包在Python中访问R语言包和函数,其中最重要的子包是robjects,可以生成R中的数据结构;最重要的实例是rojects.r(' '),可以通过三种方式访问R中的数据和函数,甚至可以利用其在Python中进行R编程;最重要的函数是importr(' '),它可以加载所有R语言中安装的包。在Python中使用R语言的包还有很多,rpy2只是其中一个,这就是开源软件的强大之处啊!

END.

来源: 研模时光

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PPV课数据科学社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
在python中使用R—rpy2包学习
python与R处理数据都十分方便,不过功能侧重点不是很一样,python作为一种通用型语言用处更加广泛;而R在可视化和统计分析等方面更加方便。有时候在python的代码中插入R的code会更快捷的实现我们想要的功能,rpy2这个包则可以让我们实现这一功能。
生信编程日常
2020/04/01
3.6K0
在python中使用R—rpy2包学习
scRNA分析 | 解决可能的报错,从0开始教你完成细胞通讯分析-cellphoneDB
CellPhoneDB是一个受配体及其相互作用的数据库,整合了UniProt, ensemble, PDB, IMEx,IUPHAR等数据库的信息。CellPhoneDB数据库概况如下图所示
生信补给站
2023/08/25
1.2K0
数据科学入门丨选Python还是R
对于想入门数据科学的新手来说,选择学Python还是R语言是一个难题,本文对两种语言进行了比较,希望能帮助你做出选择。
CDA数据分析师
2018/07/30
8290
数据科学入门丨选Python还是R
plotnine,打死不学R语言, 我可以用Python到40岁.....
今天给大家介绍一个非常好用的Python语言可视化工具包-plotnine,让你轻松绘制R语言中的统计图形~~
DataCharm
2023/10/06
5540
plotnine,打死不学R语言, 我可以用Python到40岁.....
跟着Nature Medicine学python:python调用R语言的
这个代码以 ipynb后缀名的文件存储,我打开这个文件的方式是使用 Jupyter lab,安装好anaconda3以后jupyter lab默认就可以使用了。
用户7010445
2021/03/14
8210
pycharm R语言_pycharm安装后无解释器
最近被网上的一些R语言做出的图迷住,遂突发奇想学习R语言。按照教程装好了R语言解释器与Rstudio后,才得知pycharm中有R语言的插件,安装后可以在pycharm中写R语言。
全栈程序员站长
2022/09/27
1.1K0
pycharm R语言_pycharm安装后无解释器
非root用户,如何借助Anaconda,来安装R语言和R包
-------以R语言和R包为例。
作图丫
2022/03/29
2.5K0
R vs. Python,数据分析中谁与争锋?
R和Python两者谁更适合数据分析领域?在某些特定情况下谁会更有优势?还是一个天生在各方面都比另一个更好? 当我们想要选择一种编程语言进行数据分析时,相信大多数人都会想到R和Python——但是从这两个非常强大、灵活的数据分析语言中二选一是非常困难的。 我承认我还没能从这两个数据科学家喜爱的语言中选出更好的那一个。因此,为了使事情变得有趣,本文将介绍一些关于这两种语言的详细信息,并将决策权留给读者。值得一提的是,有多种途径可以了解这两种语言各自的优缺点。然而在我看来,这两种语言之间其实有很强的关联。 St
CSDN技术头条
2018/02/08
9890
R vs. Python,数据分析中谁与争锋?
python rpy2 包安装问题解决
在python中直接pip install rpy2时,会出错,没仔细看错误,直接下载了whl文件(https://www.lfd.uci.edu/~gohlke/pythonlibs/)进行安装。 此时可以import rpy2,但是在import rpy2.robjects时会提示 “Rpy2 error wac-a-mole: R_USER not defined”,解决办法: 将R.dll添加到系统路径中(比如我的是C:\Program Files\R\R-3.4.4\bin\x64); 添加环境变
Echo_fy
2018/06/14
1.3K0
小众做法,通过python调用R语言的第三方包
原本的意思只想在anaconda上把所有代码一股脑的写好,实在不想转战不同的平台。为此无意间发现python可以调用R,于是饶有兴致的挖了个坑。
一个有趣的灵魂W
2020/09/15
1.3K0
小众做法,通过python调用R语言的第三方包
python rpy2,tkinter安装问题解决
windows系统下 在python中直接pip install rpy2时,会出错,没仔细看错误,直接下载了whl文件(https://www.lfd.uci.edu/~gohlke/pythonlibs/)进行安装。 此时可以import rpy2,但是在import rpy2.robjects时会提示 “Rpy2 error wac-a-mole: R_USER not defined”,解决办法: 将R.dll添加到系统路径中(比如我的是C:\Program Files\R\R-3.4.4\bin\
Echo_fy
2018/07/05
1.6K0
[AI新知] Google的AI平台笔记本开始支援R语言
Google在今年Next大会中发布了一系列支援机器学习生命周期各阶段的工具,其中包括了AI平台笔记本,这是一个代管服务,供使用者以最新的资料科学与机器学习开发框架,创建JupyterLab执行个体服务,现在Google宣布在AI平台笔记本支援R语言。
阿泽
2019/06/21
6910
[AI新知] Google的AI平台笔记本开始支援R语言
Python编程神器Jupyter Notebook使用的28个秘诀(附代码)
[ 导读 ]最近做实验一直是用Jupyter Notebook编程,有一种打草稿的便捷感,在dataquest上看到一篇博客总结了28种Jupyter Notebook的使用技巧。为了方便大家理解,对原文一个简略的地方进行了适当的解释和扩充。希望大家在用Jupyter Notebook编程时可以更加爽快。
数据派THU
2019/12/31
4.7K0
Python编程神器Jupyter Notebook使用的28个秘诀(附代码)
如何在 Rstudio 中使用 python 语言 (图文详解)
一直以来我们学习、测试python都会提到 Pycharm,不仅好用,还支持使用 R 语言。
生信菜鸟团
2020/07/07
14.9K1
如何在 Rstudio 中使用 python 语言 (图文详解)
技术|直方图的绘制——R语言&Python篇
昨天我们介绍了使用Excel进行直方图的绘制,今天我们来介绍R语言和Python下的绘制方法。
做数据的二号姬
2019/08/20
1.5K0
技术|直方图的绘制——R语言&Python篇
可能会用到的30个R语言包~第四期
1 webshot 在 生信星球 公众号看到的推文 听说你的桑基图也无法保存? 主要功能是可以把html文件保存为 png 或者 pdf 格式 2 pez 系统全面的系统发育R包 3 ggprism 在 YuLabSMU 公众号看到的推文 用ggplot2出GraphPad prism的图,坐标轴好多可选 4 r3dmol 在 YuLabSMU 公众号看到的推文 在R中对分子结构进行3D可视化 5 epiR 该包集合了流行病学中诸多描述性分析的函数。其中epi.tests函数专门用于计算诊断试验的灵敏度、特
用户7010445
2021/05/07
1.6K0
R语言和 Python —— 一个错误的分裂
最近有一些文章提出与年龄相关的问题:“崭露头角的年轻数据科学家们是学习R语言还是Python更好?” 答案似乎都是“视情况而定”,在现实中没有必要在R和Python中做出选择,因为你两个都用得到。 它
小莹莹
2018/04/19
1K0
R语言和 Python —— 一个错误的分裂
业界 | 数据科学大Battle,你站Python还是R
Python 或 R,这是一个问题。在数据科学工作中,你可能也经常遇到这个选择困难问题。本文作者Brian Ray基于数十年的Python和R在数据科学领域的使用检验,分享了自己的看法,希望能够帮大家做出更好的选择。
大数据文摘
2018/07/31
4910
业界 | 数据科学大Battle,你站Python还是R
手把手 | 哇!用R也可以跑Python了
大数据文摘作品 编译:大茜、钱天培 R还是Python? 真是个千古难题! 如果你主要从事数据分析、统计建模和可视化,R大概是你的不二之选。但如果你还想来搞点深度学习,整个自然语言处理,那你可还真得用Python。 如果你处于交叉领域,很可能就需要两种语言切换。后果是,写个for loop还出bug真的是家常便饭。报警! 面对这种困境的绝不止你一个人!最近的KDnuggets Analytics的软件调查中,Python和R位居数据科学和机器学习软件的前两名。 如果你真的想提高你在数据科学领域的能力,这两种
大数据文摘
2018/05/23
9490
轻松搞定 R 语言包安装(最全攻略和常见错误解决方法总结)
R语言包是扩展其功能的重要工具,涵盖数据处理、统计分析、图形展示等多个领域。如dplyr用于数据清洗和操作,ggplot2实现高级绘图等。
简说基因
2024/12/23
2.5K0
轻松搞定 R 语言包安装(最全攻略和常见错误解决方法总结)
推荐阅读
相关推荐
在python中使用R—rpy2包学习
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档