首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RPY2:.Renviron失败了

RPY2:.Renviron失败了
EN

Stack Overflow用户
提问于 2011-06-15 20:40:40
回答 1查看 2K关注 0票数 3

下面是将rpy2.robjects.packages.importr用于基本R-包(例如stats)应该和确实发生的事情:

代码语言:javascript
复制
>>> from rpy2.robjects.packages import importr
>>> importr('stats')
<rpy2.robjects.packages.SignatureTranslatedPackage object at 0x7f3810>

但是对于外部包(例如ggplot2),结果是:

代码语言:javascript
复制
>>> 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定义了我的用户库位置(例如,ggplot2库),并且我对使用RRscript的R-命令library()require()都没有问题。这条路看起来是这样的:

代码语言:javascript
复制
R_LIBS_USER="/path/to/my/packages"

所以我的问题是为什么我的用户库路径被排除在Rpy2使用的“搜索列表”之外?或者,更确切地说,如何引导Rpy2也查看R_LIBS_USER路径?

我认为这个问题源于Rpy2使用的环境,但在这方面我的无知程度很高。

代码语言:javascript
复制
R: 2.13.0
Platform: x86_64-apple-darwin9.8.0/x86_64 (Mac, 10.6, 64-bit)

复制

代码语言:javascript
复制
Rpy2: 2.1.8, 2.2.1 (dev)

我经常使用R、ggplot2和python,所以任何见解都是非常受欢迎的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-16 17:20:33

默认情况下,rpy2在"vanilla“模式下进行初始化,这会忽略R_LIBS和好友。

代码语言:javascript
复制
>>> import rpy2.rinterface 
>>> rpy2.rinterface.get_initoptions()
('rpy2', '--quiet', '--vanilla', '--no-save')
>>> 

您可以使用'rinterface.set_initoptions()‘来更改这些。

例如:

代码语言:javascript
复制
import rpy2.rinterface as ri
ri.set_initoptions(('rpy2', '--verbose', '--no-save'))
ri.initr()

# from now on, just import the rest of rpy2 modules without thinking of the above.
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6364082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档