我终于使用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包,偶尔可以使用很多
答案 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")