我正在尝试使用3种不同的技术(glm,maxlike和gam)构建气候物种分布模型。我在R中使用sdm包。生成模型后,我尝试使用ensemble()
函数根据AUC统计信息生成这三个模型的加权平均值,然后将其输出到地图I可以绘图。
sdmShp是从GBIF数据生成的仅存在点的SpatialPointsDataFrame。 CDTClimate是从Worldclim导入的裁剪后的气候数据栅格对象。
library(sdm)
modelData <- sdmData(formula = PA ~ AnnMeanTemp+AnnPrecip, train = sdmShp, predictors = CDTClimate, bg=250)
model <- sdm(PA ~ AnnMeanTemp+AnnPrecip, data = modelData, methods=c("glm","maxlike", "gam"), replication = c('sub', 'boot'), test.percent = 30, n=5, modelSettings = list(ncore= "1L"))
map1 <- ensemble(model, newdata = CDTClimate, filename = "map1data.img", setting=list(method='weighted', stat='AUC'),
overwrite=TRUE)
模型运行良好,但是当我尝试使用集成函数时,出现以下错误:
Error in if (ncore < w$ncore) w$ncore <- ncore :
missing value where TRUE/FALSE needed
我已经尝试向ensemble函数添加modelSettings参数,这与我对sdm()函数所做的相似,但是它没有任何改变。 documentation中似乎没有关于在集成函数中使用ncore的任何信息。我不确定要使它正常工作需要做什么,所以任何建议都将不胜感激。