RPY2: importr falha com .Renviron
Aqui está o que deve e acontece usandorpy2.robjects.packages.importr
para pacotes R básicos (por exemplo,stats
):
>>> from rpy2.robjects.packages import importr
>>> importr('stats')
<rpy2.robjects.packages.SignatureTranslatedPackage object at 0x7f3810>
mas com um pacote externo (por exemplo,ggplot2
) este é o resultado:
>>> importr('ggplot2')
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
there is no package called 'ggplot2'
Error in .Primitive("as.environment")("package:ggplot2") :
no item called "package:ggplot2" on the search list
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/7.0/lib/python2.7/site-packages/rpy2/robjects/packages.py", line 100, in importr
env = _as_env(rinterface.StrSexpVector(['package:'+name, ]))
rpy2.rinterface.RRuntimeError: Error in .Primitive("as.environment")("package:ggplot2") :
no item called "package:ggplot2" on the search list
Uma complicação é que no meu diretório pessoal eu tenho o arquivo.Renviron
defina o local da minha biblioteca de usuários (onde, por exemplo,ggplot2
libs são) e não tenho problemas com nenhum dos comandos Rlibrary()
ourequire()
usandoR
eRscript
. O caminho é mais ou menos assim:
R_LIBS_USER="/path/to/my/packages"
Então, minha pergunta é por que meu caminho da biblioteca de usuários foi excluído da "lista de pesquisa"Rpy2
usa? Ou melhor, como direcionoRpy2
para procurar noR_LIBS_USER
caminho também?
Suponho que o problema decorra do ambienteRpy2
usa, mas minha ignorância é alta nesse sentid
R: 2.13.0
Platform: x86_64-apple-darwin9.8.0/x86_64 (Mac, 10.6, 64-bit)
replicado com
Rpy2: 2.1.8, 2.2.1 (dev)
Eu uso R, ggplot2 e python regularmente, para que qualquer insight seja muito bem-vind