This function represents boxplot of evaluation scores 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
grouping methods (see Details).
bm_PlotEvalBoxplot(
bm.out,
dataset = "calibration",
group.by = c("algo", "run"),
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 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 2-length vector
containing the way kept models will be represented,
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 evaluation scores and the corresponding
ggplot
object representing them in boxplot.
...
can take the following values :
main
: a character
corresponding to the graphic title
scales
: a character
corresponding to the scales
argument of
the facet_wrap
function, must be either fixed
, free_x
,
free_y
or free
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_PlotEvalMean()
,
bm_PlotRangeSize()
,
bm_PlotResponseCurves()
,
bm_PlotVarImpBoxplot()
,
bm_PseudoAbsences()
,
bm_RunModelsLoop()
,
bm_SRE()
,
bm_SampleBinaryVector()
,
bm_SampleFactorLevels()
,
bm_Tuning()
,
bm_VariablesImportance()
Other Plot functions:
bm_PlotEvalMean()
,
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.var = myResp,
expl.var = myExpl,
resp.xy = myRespXY,
resp.name = myRespName)
# 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 evaluation scores
bm_PlotEvalBoxplot(bm.out = myBiomodModelOut, group.by = c('algo', 'run'))