RPy2:在python中调用R函数'DEoptim'时的LookupError

时间:2014-08-26 01:03:40

标签: r python-2.7 rpy2 robjects

我终于使用Python 2.7.8和R 3.10.1在我的Windows 7计算机上运行了RPy2。我想打电话给R功能' DEoptim'我的R安装没有附带,但是该软件包已经通过R Repository下载并且正在使用R。

当我这样做时:

import rpy2.robjects as robjects
dea = robjects.r['DEoptim']

我收到以下错误:

LookupError                               Traceback (most recent call last)
<ipython-input-3-a882c24e8623> in <module>()
----> 1 dea = robjects.r['DEoptim']

C:\Users\Patrick\Anaconda\lib\site-packages\rpy2\robjects\__init__.pyc in __getitem__(self, item)
    224 
    225     def __getitem__(self, item):
--> 226         res = _globalenv.get(item)
    227         res = conversion.ri2ro(res)
    228         res.__rname__ = item

LookupError: 'DEoptim' not found

这似乎有道理。 Python试图找到这个包,但它不存在。在R中导入此包时,我可以看到它位于:C:/Users/Patrick/Documents/R/win-library/3.1

有什么办法可以从python中调用这个函数吗?我已经在python中寻找一个好的DE优化包,然后发现insyred然而使用R的DEoptim包更加容易。此外,标准库中还有很多其他R包,偶尔可以使用很多

2 个答案:

答案 0 :(得分:1)

您可能需要加载相关的R包。 rpy2函数importr为R包提供了一个简单的接口。

答案 1 :(得分:0)

这是为我解决问题的代码,以防万一有人卡住或没有足够的时间阅读文档(比如我......)

from rpy2.robjects.packages import importr
dea = importr('DEoptim', lib_loc="C:/Users/Patrick/Documents/R/win-library/3.1")