4

如何识别所有库 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

(>>> from rpy2.robjects.packages import importr Traceback(最近一次调用最后一次):文件“”,第 1 行,在 ImportError:没有名为包的模块)

因为我可以更新 Rpy2 以加载所有库而不会出现问题或 R 可以完成。

PS:我在 ubuntu 上使用 R 2.10 和 python 2.6

4

2 回答 2

4

为了让 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>

我不确定您要做什么,因为这些库应该可以在没有任何额外导入的情况下工作,正如 Gavin 所提到的。

于 2010-11-11T18:51:38.240 回答
1

除非我弄错了——我不使用 Rpy2——这些包(顺便说一下,它们不是库)会在 R 启动时自动加载;您无需执行任何其他操作即可使用它们。这些包中的所有用户可见功能在 R 启动期间都可用。

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

于 2010-11-11T18:50:56.103 回答