如何识别 Rpy2 R 的所有库
题
如何识别 Rpy2 R. 的所有库
Rpy2 无法识别库、实用程序和工具。
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 行,在 导入错误:没有模块命名的包 )
因为我可以更新 Rpy2 以毫无问题地加载所有库或 R 可以完成的操作。
附:我在 ubuntu 上使用 R 2.10 和 python 2.6
解决方案
为了使 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>
我不确定你想要做什么,因为正如加文提到的那样,这些库应该无需任何额外的导入即可工作。
其他提示
除非我弄错了 - 我不使用 Rpy2 - 这些软件包(它们是 不是 顺便说一下,R 启动时会自动加载库;您无需执行任何其他操作即可使用它们。这些包中的所有用户可见的函数都在 R 启动期间可用。
另外,您无法更新这些软件包 - 它们是 R。只有当您更新 R 本身时,您才会获得更新。在这一点上,它们与推荐包(如 nlme、mgcv、MASS 等)不同,这些包也在 CRAN 上,并且在 R 版本更新之间更新得更频繁。
不隶属于 StackOverflow