如何识别 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 版本更新之间更新得更频繁。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top