Python 如何识别所有Rpy2 R库

Python 如何识别所有Rpy2 R库,python,linux,r,ubuntu,rpy2,Python,Linux,R,Ubuntu,Rpy2,如何识别所有库rpy2r Rpy2无法识别库、UTIL和工具 import rpy2.robjects as robjects R = robjects.r >>> R['library']("utils") RVector - Python:0x7f65fc85cfc8 / R:0x19bb980 >>> R['library']("tools") RVector - Python:0x7f65fc85f5a8 / R:0x2419140 (

如何识别所有库rpy2r

Rpy2无法识别库、UTIL和工具

import rpy2.robjects as robjects

R = robjects.r  

>>> R['library']("utils")

RVector - Python:0x7f65fc85cfc8 / R:0x19bb980

>>> R['library']("tools")

RVector - Python:0x7f65fc85f5a8 / R:0x2419140
(>>>从rpy2.robjects.packages导入导入 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 ImportError:没有名为包的模块 )

因为我可以更新Rpy2来加载所有的库,而不会出现任何问题,也不会出现任何可以完成的错误


PS:我在ubuntu上使用R2.10和Python2.6,除非我弄错了-我没有使用Rpy2-这些包(顺便说一句,它们不是库)在R启动时自动加载;你不需要做任何其他事情来利用它们。在R启动期间,这些软件包中的所有用户可见功能都可用


此外,您不能更新这些包-它们是R。只有在更新R本身时才能获得更新。在这一点上,它们不同于推荐的软件包(如nlme、mgcv、MASS等),这些软件包也在CRAN上,并且在R版本更新之间更新得更频繁。

为了使importr命令正常工作,您可能需要升级您的rpy2版本--请尝试检查您的版本:

print rpy2.__version__
我相信您需要2.1.0或更高版本。以下内容在2.1.7中适用于我,但在2.0.3中不适用:

In [1]: import rpy2.robjects as robjects

In [2]: R = robjects.r  

In [3]: from rpy2.robjects.packages import importr

In [4]: importr("utils")
Out[4]: <rpy2.robjects.packages.SignatureTranslatedPackage object at 0x1e96310>
[1]中的
:将rpy2.robject作为robject导入
在[2]中:R=robjects.R
[3]中:从rpy2.robjects.packages导入导入
在[4]中:importr(“utils”)
出[4]:

我不确定你想做什么,因为这些库应该没有任何额外的导入,如加文所提到的。

你可能想考虑存储由导入()返回的对象(例如,UTILS=进口商(‘UTILS’))。该对象类似于模块,并用额外的细节(名称中的“.”替换为“uu”,包括函数的参数名称)包装R对象