2010-11-11 39 views
4

comment ont reconnu toutes les bibliothèques Rpy2 R.comment ont reconnu toutes les bibliothèques Rpy2 R

Rpy2 ne reconnaissant pas les bibliothèques, utils et des outils.

import rpy2.robjects as robjects 

R = robjects.r 

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

RVector - Python:0x7f65fc85cfc8/R:0x19bb980 

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

RVector - Python:0x7f65fc85f5a8/R:0x2419140 

(>>> de rpy2.robjects.packages importer importr retraçage (appel le plus récent en dernier): Fichier "", ligne 1, en ImportError: Aucun module nommé packages )

comme je peux mettre à jour Rpy2 pour charger toutes les bibliothèques sans problèmes ou R cela peut être fait.

PS: J'utilise R 2.10 et python 2.6 sur ubuntu

Merci pour vôtre réponses

Répondre

4

Afin d'obtenir la commande importr au travail, vous devez probablement mettre à jour votre version de rpy2 - essayez de vérifier votre version:

print rpy2.__version__ 

Je crois que vous devez utiliser la version 2.1.0 ou plus. Les travaux suivants pour moi sous 2.1.7, mais pas sur 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> 

Je ne suis pas sûr de ce que vous essayez de faire, comme ces bibliothèques devraient travailler sans importation supplémentaire, comme Gavin a mentionné .

+0

merci, j'essaie sudo easy_install -U rpy2, Rpy2 cela fonctionne – ricardo

+1

Vous pouvez envisager de stocker l'objet retourné par importr() (par exemple, utils = importr ('utils')). Cet objet est semblable à un module et encapsule les objets R avec des subtilités supplémentaires ('.' Est remplacé par '_' dans les noms, y compris les noms de paramètres pour les fonctions) – lgautier

1

À moins que je ne me trompe - je ne pas utiliser Rpy2 - ces paquets (ils sont pas bibliothèques par la way) sont chargés automatiquement lorsque R est démarré; vous n'avez pas besoin de faire autre chose pour les utiliser. Toutes les fonctions visibles par l'utilisateur dans ces packages sont disponibles au démarrage de R.

De même, vous ne pouvez pas mettre à jour ces paquets - ils sont R. Vous ne recevez des mises à jour que lorsque vous mettez à jour R lui-même. Dans ce cas, ils diffèrent des paquets recommandés (comme nlme, mgcv, MASS etc) qui sont également sur CRAN et qui sont mis à jour plus fréquemment entre les mises à jour de version R.