rpy2安装
所需要的python 库 :rpy2
环境背景:在Linux环境下,python环境中已经同时安装了R环境,所以直接输入以下命令安装成功就好啦,并不用配置环境变量之类的。
pip install rpy2
rpy2的使用
具体可以参考这个链接:https://blog.csdn.net/qq_31342997/article/details/89428158
python对象转为R对象
robjects.StrVector()#字符
robjects.IntVector()#整数
robjects.FloatVector()#浮点
robjects.complexVector()#复数
robjects.FactorVector()#因子
robjects.BoolVector()#布尔向量
robjects.ListVector()#列表
example:
R_a = robjects.StrVector(a)
R_b = robjects.StrVector(b)
a ,b为python的字符列表
python调用R脚本的使用
python 代码
import rpy2.robjects as robjects
from rpy2.robjects import numpy2ri
numpy2ri.activate() # From numpy to rpy2
robjects.r.source('./Rtest.R')
r2py = robjects.r.funx(data,R_a,R_b)
funx是R脚本中的函数,data,R_a,R_b 为R脚本中的函数的参数
R脚本代码:
funx = function(data,R_a,R_b){
#以下函数内容,就不举例啦~
return R_list
}
PS:踩过的小坑,R脚本的后缀一定要是.R,因为在jupyter 里新建R文件,后缀为.ipynb。一定要手动修改后缀:.ipynb→.R
numpy2ri
numpy2ri.activate() 可将python中的numpy object 转为rpy2 objects ,以便在调用R脚本时,传入的参数满足R的object要求
From numpy to rpy2 The activation (and deactivation) of the automatic
conversion of numpy objects into rpy2 objects can be made with:
from rpy2.robjects import numpy2ri
numpy2ri.activate()
numpy2ri.deactivate()