Как распознать все библиотеки Rpy2 R - PullRequest
4 голосов
/ 11 ноября 2010

Как распознать все библиотеки 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 importTraceback importr (последний вызов был последним): файл "", строка 1, в ImportError: нет модулей с именами пакетов)

, поскольку я могу обновить Rpy2 для загрузки всех библиотек без проблем или R, что можно сделать.

PS: я использую R 2.10 и Python 2.6 на Ubuntu

Ответы [ 2 ]

4 голосов
/ 11 ноября 2010

Чтобы команда 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 голос
/ 11 ноября 2010

Если я не ошибаюсь - я не использую Rpy2 - эти пакеты (кстати, они не библиотеки) загружаются автоматически при запуске R;вам не нужно ничего делать, чтобы использовать их.Все видимые пользователю функции в этих пакетах становятся доступными во время запуска R.

Кроме того, вы не можете обновить эти пакеты - это R. Вы получаете обновления только тогда, когда обновляете само R.В этом они отличаются от рекомендуемых пакетов (таких как nlme, mgcv, MASS и т. Д.), Которые также находятся в CRAN и которые обновляются чаще между обновлениями версии R.

...