1. 首页
  2. 数据分析

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

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

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


如何安装rpy2?

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

conda install -c r rpy2=2.8.5

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

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

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

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




加载rpy2与rpy2包的内容

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

(1)加载rpy2

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

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

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

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

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



如何使用ry2

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

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

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

(2)访问R实例

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

工具 | 如何在Python中调用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包进行方差分析

得到如下结果:

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

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



总结

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


END.

来源: 研模时光


原文始发于微信公众号(PPV课数据科学社区):工具 | 如何在Python中调用R语言包?

原创文章,作者:ppvke,如若转载,请注明出处:http://www.ppvke.com/archives/2002

联系我们

4000-51-9191

在线咨询:点击这里给我发消息

工作时间:周一至周五,9:30-18:30,节假日休息