Python 使用rpy2.rpy_classic将脚本从rpy转换为rpy2
谈到python,我有点新手,但我想将使用rpy的python脚本转换为使用rpy2的python脚本。我们确实在某处安装了rpy(用于Python2.6.x),但它与当前版本的R(3.2.0)的性能不太好。但是,我们确实为这些脚本中使用的python版本安装了rpy2(python 2.7[.5]) 据我所知,这些是需要更改的行(我已稍微简化了函数):Python 使用rpy2.rpy_classic将脚本从rpy转换为rpy2,python,r,rpy2,Python,R,Rpy2,谈到python,我有点新手,但我想将使用rpy的python脚本转换为使用rpy2的python脚本。我们确实在某处安装了rpy(用于Python2.6.x),但它与当前版本的R(3.2.0)的性能不太好。但是,我们确实为这些脚本中使用的python版本安装了rpy2(python 2.7[.5]) 据我所知,这些是需要更改的行(我已稍微简化了函数): 从rpy导入r r、 库(“”,悄悄地=真) r(“”)\ funcrpy\u classic在早期主要用于证明rpy2中的低级接口可用于实现
从rpy导入r
r、 库(“”,悄悄地=真)
r(“”)\
funcrpy\u classic
在早期主要用于证明rpy2中的低级接口可用于实现任何高级接口,包括rpy
中的接口。它不是一个终极兼容性工具
使用rpy2的高级界面robjects
,您的rpy代码如下所示:
from rpy2.robjects.packages import importr
from rpy2.robjects import r
lib=importr('<libname>')
rfunc=r("""
function(x,a={options.a},b={options.b}) {{
...
*R code here*
...
l<-list(o=o,md=a+b)
l
}}""".format(options=options))
out = rfunc(<python expression>).rx2('o')
从rpy2.robjects.packages导入导入
从rpy2.robjects导入r
lib=importr(“”)
rfunc=r(“”)
函数(x,a={options.a},b={options.b}){{
...
*R代码在这里*
...
当我传递numpy对象时,我需要添加import rpy2.robjects.numpy2ri
rpy2.robjects.numpy2ri.activate()
,但这确实有效
out = r.func(<python expression>)['o']
import rpy2.rpy_classic as rpy
rpy.set_default_mode(rpy.NO_CONVERSION)
rpy.r.library('<libname>', quietly=True)
rpy.r("""\
func <- function(x,a={options.a},b={options.b}) {{
...
*R code here*
...
l<-list(o=o,md=a+b)
l
}}""".format(options=options))
<rpy2.rpy_classic.Robj object at 0x2b9e48481510>
from rpy2.robjects.packages import importr
from rpy2.robjects import r
lib=importr('<libname>')
rfunc=r("""
function(x,a={options.a},b={options.b}) {{
...
*R code here*
...
l<-list(o=o,md=a+b)
l
}}""".format(options=options))
out = rfunc(<python expression>).rx2('o')