Я очень новичок в Biomod и все еще относительный новичок в R. У меня проблемы с использованием функции BIOMOD_EnsembleForecasting () для проецирования моего eSDM. Я использую растровый стек из нескольких биологических переменных worldclim для моего new.env. Я успешно получил все остальные функции, приводящие к работе, но получаю сообщение об ошибке, в котором говорится, что нет унаследованного метода для функции writeValues. Я не использую растровые блоки или данные, отформатированные в цифрах c, поэтому я не уверен, к чему относится эта ошибка.
Вот мой код до сообщения об ошибке:
> current.clim <- stack(raster("./Data/CurrentClimate-res2_5-temp.tif"),
raster("./Data/CurrentClimate-res2_5-precip.tif"))
> names(current.clim) <- c("Temp", "Precip")
> coords <- data.frame(x = species$long, y = species$lat)
> names(coords) <- c("long", "lat")
> values <- extract(current.clim, coords)
> df <- cbind.data.frame(coordinates(coords), values, species$pa)
> colnames(df) <- c("Long", "Lat", "Temp", "Precip", "presenceAbsence")
> df$Temp <- df$Temp / 10
> coordinates(df) <- c(1, 2)
> resp.var <- df[, 3]
> expl.var <- df[, 1:2]
> species.current.proj <- BIOMOD_Projection(modeling.output = species.mod.out,
new.env = current.clim,
proj.name = "Projection (Current Conditions)",
selected.models = "all",
binary.meth = "ROC",
compress = "xz",
build.clamping.mask = FALSE)
> species.mod.en <- BIOMOD_EnsembleModeling(modeling.output = species.mod.out,
chosen.models = "all",
em.by = "PA_dataset+repet",
eval.metric = c("TSS"),
eval.metric.quality.threshold = c(0.85),
prob.mean = TRUE,
prob.cv = TRUE,
prob.ci = TRUE,
prob.ci.alpha = 0.05,
prob.median = TRUE,
committee.averaging = TRUE,
prob.mean.weight = TRUE,
prob.mean.weight.decay = 'proportional')
> species.mod <- BIOMOD_FormatingData(resp.var = resp.var,
expl.var = current.clim,
resp.name = "Species",
PA.strategy = "random",
PA.nb.absences = nrow(df),
PA.nb.rep = 2)
> species.mod.options <- BIOMOD_ModelingOptions()
> species.mod.out <- BIOMOD_Modeling(data = species.mod,
models = c("RF", "MARS", "GBM", "GLM", "GAM"),
models.options = species.mod.options,
NbRunEval = 2,
DataSplit = 70,
models.eval.meth = c("TSS", "ROC"),
Var.Import = 3,
SaveObj = TRUE)
> EMPlot <- BIOMOD_EnsembleForecasting(projection.output = species.current.proj,
EM.output = species.mod.en)
Вот результат последнего запуска функции (BIOMOD_EnsembleForecasting ()):
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Do Ensemble Models Projections -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> Projecting Species_EMmeanByTSS_mergedAlgo_Full_PA1 ...
> Projecting Species_EMcvByTSS_mergedAlgo_Full_PA1 ...Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘writeValues’ for signature ‘"RasterBrick", "numeric"’