Dear flexsdm user, if you are interested in receiving email notifications about modifications made to the package (e.g., new functions, arguments, or vignettes), please fill out this form so we can keep you updated on what is new in flexsdm.
Explore our new R package adm to construct abundance-based species distribution models.
Species distribution modeling has become a standard tool in several research areas such as ecology, conservation biology, biogeography, paleobiogeography, and epidemiology. Species distribution modeling is an area of active research in both theoretical and methodological aspects. One of the most exciting features of flexsdm is its high manipulation and parametrization capacity based on different functions and arguments. These attributes enable users to define a complete or partial modeling workflow specific for a modeling situation (e.g., number of variables, number of records, different algorithms, algorithms tuning, ensemble methods).
The functions of flexsdm package are organized into three major modeling steps
Set tools that prepare modeling input data (e.g., species occurrences thinning, sample pseudo-absences or background points, delimitation of calibration area).
calib_area() Delimit calibration area for constructing
species distribution modelscorrect_colinvar() Collinearity reduction on
predictorsenv_outliers() Integration of outliers detection
methods in the environmental spacepart_random() Data partitioning for training and
testing modelspart_sblock() Spatial block cross validationpart_sband() Spatial band cross validationpart_senv() Environmental cross-validationplot_res() Plot different resolutions to be used in
part_sblockget_block() Transform a spatial partition layer to the
same spatial properties of environmental variablesget_absences() Build a presence-absence database from
multi-species occurrence datasample_background() Sample background pointssample_pseudoabs() Sample pseudo-absencessdm_directory() Create directories for saving the
outputs of the flexsdmsdm_extract() Extract environmental data based on x and
y coordinatesoccfilt_env() Perform environmental filtering on
species occurrencesoccfilt_geo() Perform geographical filtering on species
occurrencesoccfilt_select() Select filtered occurrences when it
was tested with different filtering valuesocc_reproj() Reproject location coordinates to a new
coordinate reference systemmap_env_dist() Calculate environmental distance between
presences and projection datahomogenize_na() Homogenize cells with NAs across all
layersIt includes functions related to modeling construction and
validation. Several of them can be grouped into fit_*,
tune_*, and esm_* family functions.
fit_* construct and validate models with default
hyper-parameter values. tune_* construct and validate
models searching for the best hyper-parameter values combination.
esm_ construct and validate Ensemble of Small Models.
sdm_eval() Calculate different model performance
metricsfit_* functions familyfit_dom() Fit and validate Domain modelsfit_gam() Fit and validate Generalized Additive
Modelsfit_gau() Fit and validate Gaussian Process modelsfit_gbm() Fit and validate Generalized Boosted
Regression modelsfit_glm() Fit and validate Generalized Linear
Modelsfit_max() Fit and validate Maximum Entropy modelsfit_net() Fit and validate Neural Networks modelsfit_raf() Fit and validate Random Forest modelsfit_svm() Fit and validate Support Vector Machine
modelstune_* functions
familytune_gbm() Fit and validate Generalized Boosted
Regression models with exploration of hyper-parameterstune_max() Fit and validate Maximum Entropy models with
exploration of hyper-parameterstune_net() Fit and validate Neural Networks models with
exploration of hyper-parameterstune_raf() Fit and validate Random Forest models with
exploration of hyper-parameterstune_svm() Fit and validate Support Vector Machine
models with exploration of hyper-parametersfit_ensemble() Fit and validate ensemble models with
different ensemble methodsesm_* functions familyesm_gam() Fit and validate Generalized Additive Models
with Ensemble of Small Model approachesm_gau() Fit and validate Gaussian Process models
Models with Ensemble of Small Model approachesm_gbm() Fit and validate Generalized Boosted
Regression models with Ensemble of Small Model approachesm_glm() Fit and validate Generalized Linear Models
with Ensemble of Small Model approachesm_max() Fit and validate Maximum Entropy models with
Ensemble of Small Model approachesm_net() Fit and validate Neural Networks models with
Ensemble of Small Model approachesm_svm() Fit and validate Support Vector Machine
models with Ensemble of Small Model approachTools related to models’ geographical predictions, evaluation, and correction.
sdm_predict() Spatial predictions of individual and
ensemble modelsdm_summarize() Merge model performance tablessdm_uncertainty() Calculate species distribution model
uncertainty using a bootstrap proceduresdm_varimp() Calculate permutation-based variable
importance scores for SDMsinterp() Raster interpolation between two time
periodsextra_eval() Measure model extrapolation based on Shape
extrapolation metricextra_truncate() Constraint suitability values under a
given extrapolation valuemsdm_priori() Create spatial predictor variables to
reduce overprediction of species distribution modelsmsdm_posteriori() Methods to correct overprediction of
species distribution models based on occurrences and suitability
patterns.Useful tools to visually explore models’ geographical and environmental predictions, model extrapolation, and partial dependence plots.
p_pdp() Create partial dependence plot(s) to explore
the marginal effect of predictors on suitabilityp_bpdp() Create partial dependence surface plot(s) to
explore the bivariate marginal effect of predictors on suitabilityp_extra() Graphical exploration of extrapolation or
suitability pattern in the environmental and geographical spacedata_pdp() Calculate data to construct partial
dependence plotsdata_bpdp() Calculate data to construct partial
dependence surface plotsYou can install the development version of flexsdm from github
# install.packages("remotes")
# For Windows and Mac OS operating systems
remotes::install_github("sjevelazco/flexsdm")
# For Linux operating system
remotes::install_github("sjevelazco/flexsdm@HEAD"):warning: NOTE: If you have the following error
Error: Failed to install 'flexsdm' from GitHub:
Could not find tools necessary to compile a package
Call `pkgbuild::check_build_tools(debug = TRUE) to diagnose the problem.
Install the latest version of Rtools https://cran.r-project.org/bin/windows/Rtools/rtools45/rtools.html
See the package website (https://sjevelazco.github.io/flexsdm/) for functions explanation and vignettes.
Velazco, S.J.E., Rose, M.B., Andrade, A.F.A., Minoli, I., Franklin, J. (2022). flexsdm: An R package for supporting a comprehensive and flexible species distribution modelling workflow. Methods in Ecology and Evolution, 13(8) 1661–1669. https://doi.org/10.1111/2041-210X.13874
Test the package and give us your feedback here or send an e-mail to sjevelazco@gmail.com.