Я пытаюсь построить модель распределения климатических видов, используя 3 отдельных метода: glm, maxlike и gam.Я использую пакет sdm в R. После генерации модели я пытаюсь использовать функцию ensemble()
, чтобы сгенерировать средневзвешенное значение этих трех моделей на основе статистики AUC, а затем вывести ее на карту, которую я могу построить,
sdmShp - это SpatialPointsDataFrame только для присутствия точек, сгенерированных из данных GBIF.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
Я попытался добавить параметр modelSettings в функцию ensemble, аналогично тому, что я сделал для функции sdm (), но это ничего не изменило.В документации , по-видимому, нет никакой информации об использовании ncore в функции ensemble.Я не уверен, что мне нужно сделать, чтобы заставить это работать, поэтому любые предложения будут оценены.