This function represents mean evaluation scores (and their standard deviation)
of species distribution models, from BIOMOD.models.out or
BIOMOD.ensemble.models.out objects that can be obtained from
BIOMOD_Modeling or BIOMOD_EnsembleModeling functions. Scores are
represented according to 2 different evaluation methods, and models can be grouped
(see Details).
bm_PlotEvalMean(
bm.out,
metric.eval = NULL,
dataset = "calibration",
group.by = "algo",
do.plot = TRUE,
...
)a BIOMOD.models.out or BIOMOD.ensemble.models.out
object that can be obtained with the BIOMOD_Modeling or
BIOMOD_EnsembleModeling functions
a 2-length vector containing evaluation metric names to be used, must
be among the metrics used for bm.out and that can be obtained with the
get_evaluations function applied to bm.out
a character corresponding to the dataset upon which evaluation metrics
have been calculated and that is to be represented, must be among calibration,
validation, evaluation
a character corresponding to the way kept models will be combined to
compute mean and sd evaluation scores, must be among full.name, PA, run,
algo (if bm.out is a BIOMOD.models.out object), or
full.name, merged.by.PA, merged.by.run, merged.by.algo
(if bm.out is a BIOMOD.ensemble.models.out object)
(optional, default TRUE)
A logical value defining whether the plot is to be rendered or not
some additional arguments (see Details)
A list containing a data.frame with mean and standard deviation of evaluation
scores and the corresponding ggplot object representing them according to 2 different
evaluation methods.
... can take the following values :
xlim : an integer corresponding to the x maximum limit to represent
ylim : an integer corresponding to the y maximum limit to represent
main : a character corresponding to the graphic title
col : a vector containing new color values
BIOMOD.models.out, BIOMOD.ensemble.models.out,
BIOMOD_Modeling, BIOMOD_EnsembleModeling,
get_evaluations
Other Secondary functions:
bm_BinaryTransformation(),
bm_CrossValidation(),
bm_FindOptimStat(),
bm_MakeFormula(),
bm_ModelingOptions(),
bm_PlotEvalBoxplot(),
bm_PlotRangeSize(),
bm_PlotResponseCurves(),
bm_PlotVarImpBoxplot(),
bm_PseudoAbsences(),
bm_RangeSize(),
bm_RunModelsLoop(),
bm_SRE(),
bm_SampleBinaryVector(),
bm_SampleFactorLevels(),
bm_Tuning(),
bm_VariablesImportance()
Other Plot functions:
bm_PlotEvalBoxplot(),
bm_PlotRangeSize(),
bm_PlotResponseCurves(),
bm_PlotVarImpBoxplot()
library(terra)
# Load species occurrences (6 species available)
data(DataSpecies)
head(DataSpecies)
# Select the name of the studied species
myRespName <- 'GuloGulo'
# Get corresponding presence/absence data
myResp <- as.numeric(DataSpecies[, myRespName])
# Get corresponding XY coordinates
myRespXY <- DataSpecies[, c('X_WGS84', 'Y_WGS84')]
# Load environmental variables extracted from BIOCLIM (bio_3, bio_4, bio_7, bio_11 & bio_12)
data(bioclim_current)
myExpl <- terra::rast(bioclim_current)
DONTSHOW({
myExtent <- terra::ext(0,30,45,70)
myExpl <- terra::crop(myExpl, myExtent)
})
# ---------------------------------------------------------------
file.out <- paste0(myRespName, "/", myRespName, ".AllModels.models.out")
if (file.exists(file.out)) {
myBiomodModelOut <- get(load(file.out))
} else {
# Format Data with true absences
myBiomodData <- BIOMOD_FormatingData(resp.name = myRespName,
resp.var = myResp,
resp.xy = myRespXY,
expl.var = myExpl)
# Model single models
myBiomodModelOut <- BIOMOD_Modeling(bm.format = myBiomodData,
modeling.id = 'AllModels',
models = c('RF', 'GLM'),
CV.strategy = 'random',
CV.nb.rep = 2,
CV.perc = 0.8,
OPT.strategy = 'bigboss',
metric.eval = c('TSS', 'ROC'),
var.import = 3,
seed.val = 42)
}
# ---------------------------------------------------------------
# Get evaluation scores
get_evaluations(myBiomodModelOut)
# Represent mean evaluation scores
bm_PlotEvalMean(bm.out = myBiomodModelOut)