我最近将我的Windows R代码转换为Linux安装,以便在函数上运行DEoptim。在我的Windows系统上,所有工作都很好:
ans <- DEoptim1(Calibrate,lower,upper,DEoptim.control(trace=TRUE,parallelType=1,parVAr=parVarnames3,packages=c(""hydromad","maptools","compiler","tcltk","raster")))
其中功能&#39; Calibrate&#39;由多种功能组成。在Windows系统上,我只需将所需的各种软件包下载到R库中。选项paralleType = 1在一系列核心上运行代码。
但是,现在我想把这些代码放到基于Linux的计算集群上 - 功能&#39; Calibrate&#39;独立时可以正常工作,如果我想在一个核心上运行代码,也可以使用DEoptim。但是,当我指定parelleType = 1时,代码将失败并返回:
Error in checkForRemoteErrors(lapply(cl, recvResult)) :
7 nodes produced errors; first error: there is no package called ‘raster’
即使
,我也会尝试回忆这个错误library(raster)
命令工作正常,并且“光栅”#39;当我使用:
调用所有库时,显然可以正常显示library()
所以,我的直觉是,即使所有的包和库都加载好了,这是因为我使用了个人库,而且DEoptim.control的packages元素正在寻找不同的空间。下面是如何安装软件包的示例:
install.packages("/home/antony/R/Pkges/raster_2.4-15.tar.gz",rpeo=NULL,target="source",lib="/home/antony/R/library")
我还设置了lib路径选项,如下所示:
.libPaths('/home/antony/R/library')
有没有人知道我做错了什么,以及如何设置&#39;包&#39; DEoptim控件中的选项,以便我可以并行运行多个内核的DEoptim?
非常感谢,Antony