rpy2.robjects.packages.importr
以下是使用基本 R 包(例如stats
)应该和确实发生的情况:
>>> from rpy2.robjects.packages import importr
>>> importr('stats')
<rpy2.robjects.packages.SignatureTranslatedPackage object at 0x7f3810>
但是使用外部包(例如ggplot2
)这是结果:
>>> 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
一个复杂的问题是,在我的主目录中,我的文件.Renviron
定义了我的用户库位置(例如,libs 所在的位置),并且我对 R-commands或使用andggplot2
都没有问题。路径看起来像这样:library()
require()
R
Rscript
R_LIBS_USER="/path/to/my/packages"
所以我的问题是为什么我的用户库路径从“搜索列表”中排除Rpy2
使用?或者,更确切地说,我如何直接Rpy2
查看R_LIBS_USER
路径?
我认为问题源于环境Rpy2
使用,但我在这方面的无知很高。
R: 2.13.0
Platform: x86_64-apple-darwin9.8.0/x86_64 (Mac, 10.6, 64-bit)
复制与
Rpy2: 2.1.8, 2.2.1 (dev)
我经常使用 R、ggplot2 和 python,因此非常欢迎任何见解。