Stacked Species Distribution Modelling

Allows to map species richness and endemism based on stacked species distribution models (SSDM). Individuals SDMs can be created using a single or multiple algorithms (ensemble SDMs). For each species, an SDM can yield a habitat suitability map, a binary map, a between-algorithm variance map, and can assess variable importance, algorithm accuracy, and between- algorithm correlation. Methods to stack individual SDMs include summing individual probabilities and thresholding then summing. Thresholding can be based on a specific evaluation metric or by drawing repeatedly from a Bernoulli distribution. The SSDM package also provides a user-friendly interface.


Travis-CI Build Status AppVeyor Build Status CRAN Downloads Coverage Status Research software impact

SSDM is a package to map species richness and endemism based on stacked species distribution models (SSDM). Individual SDMs can be created using a single or multiple algorithms (ensemble SDMs). For each species, an SDM can yield a habitat suitability map, a binary map, a between-algorithm variance map, and can assess variable importance, algorithm accuracy, and between-algorithm correlation. Methods to stack individual SDMs include summing individual probabilities and thresholding then summing. Thresholding can be based on a specific evaluation metric or by drawing repeatedly from a Bernouilli distribution. The SSDM package also provides a user-friendly interface gui.

For a full list of changes see NEWS.

Installation

Please be aware that SSDM package use a lot of dependencies (see DESCRIPTION)

You can install the latest version of SSDM from Github using the devtools package:

if (!requireNamespace("devtools", quietly = TRUE))
  install.packages("devtools")
 
devtools::install_github("sylvainschmitt/SSDM")

Install from CRAN

The stable version of SSDM, is available on CRAN:

install.packages("SSDM")

We advise users to install from github. Due to CRAN policies and the development of SSDM, many new features and bugfixes may be available on CRAN later.

Usage

After installing, SSDM package, you can launch the graphical user interface by typing gui() in the console.

[**Click to enlarge**](https://raw.githubusercontent.com/sylvainschmitt/SSDM/master/examples/SSDM.gif) ![Screenshot](https://raw.githubusercontent.com/sylvainschmitt/SSDM/master/examples/SSDM.gif)

Functionnalities

SSDM provides five categories of functions (that you can find in details below): Data preparation, Modelling main functions, Model main methods, Model classes, and Miscellaneous.

Data preparation

  • load_occ: Load occurrence data
  • load_var: Load environmental variables

Modelling main functions

  • modelling: Build an SDM using a single algorithm
  • ensemble_modelling: Build an SDM that assembles multiple algorithms
  • stack_modelling: Build an SSDMs that assembles multiple algorithms and species

Model main methods

  • ensemble,Algorithm.SDM-method: Build an ensemble SDM
  • stacking,Ensemble.SDM-method: Build an SSDM
  • update,Stacked.SDM-method: Update a previous SSDM with new occurrence data

Model classes

  • Algorithm.SDM: S4 class to represent SDMs
  • Ensemble.SDM: S4 class to represent ensemble SDMs
  • Stacked.SDM: S4 class to represent SSDMs

Miscellanous

  • gui: user-friendly interface for SSDM package
  • plot.model: Plot SDMs
  • save.model: Save SDMs
  • load.model: Load SDMs

News

NEWS

TO DO

  • possibility to add external richness data
  • add evaluation for MEMs
  • add ensemble method for MEMs
  • implement trait range stacking method
  • implement checkerboard stacking method
  • add finer tests
  • document all S4 class and methods

SSDM 0.2.3.9001

  • axes contribution evaluation when only one variable

SSDM 0.2.3

  • CRAN submission following article submission in MEE

SSDM 0.2.2.9002

  • Occurrences.csv and TRAVIS gdal
  • Vignettes 2, misspelling, and TRAVIS
  • Flo & Dim check

SSDM 0.2.2.9001

  • SSDM and GUI vignettes

SSDM 0.2.9000

  • AppVeyor integration

SSDM 0.1.9040

  • mapDiversity S4 methods for SSDM with pSSDM, bSSDM, Bernoulli, MaximumLikelyhood, PRR.MEM, PRR.pSSDM

SSDM 0.1.9039

  • stylistic rules correction with formatR and goodpractice

SSDM 0.1.9038

  • Travis-CI 0.1.9037 fixed
  • Pre formatR test

SSDM 0.1.9037

  • community evaluations for SSDM (see Pottier et al) in evaluate.Stack.SDM
  • SSDM evaluation in doc, plot and gui

SSDM 0.1.9036

  • doc about new stacking methods (including literature)
  • include new stacking method in GUI

SSDM 0.1.9036

  • further testing of probability ranking stacking method with real data
  • project.R with MEM bug fixed
  • stacking.R with MEM bug fixed
  • Travis-CI note removed with .Rbuildignore

SSDM 0.1.9035

  • Adjusted binaries with probability ranking method
  • Add binary raster slot in SDM, ESDM and SSDM methods
  • Add binary computation in modelling, ensemble, stacking
  • Add binary tmp save in ensemble and stack modelling
  • Save binary in save function
  • Load binary in load function
  • Create binary if not in file with load function (for backward compatibility)
  • Adapt plot methods to new binary slot

SSDM 0.1.9034

SSDM 0.1.9033

  • Algortihm.SDM.R file splitted in multiple files (searching for doc issue)

SSDM 0.1.9032

  • richness input in function stacking
  • MEM computing in function stacking
  • backbone to implement all new stacking functions (warning implemented everywhere to alert not implemented parts)
  • update in doc
  • update in check args

SSDM 0.1.9031

  • rgdalissue on travis due to test_load_occ

SSDM 0.1.9030

  • rgdalissue on travis due to load_var

SSDM 0.1.9029

  • rgdal in DEPENDENCIES for testthat in Travis
  • cran-comment.md
  • NEWS link in README
  • .Rbuildignore

SSDM 0.1.9028

  • Travis test

SSDM 0.1.9027

  • formal testing with testthat (39%)
  • quit button in gui
  • stack_modellingexample fix
  • warning messages corrected or removed
  • T/F replace by TRUE and FALSE
  • goodpractice package check
  • length(x)replaced by seq_len(x)
  • <- instead of = in examples
  • Package startup message
  • shinyFiles in DEPENDENCIES
  • Spelling checked in plot(SSDM)
  • Raw Envand Occurrences data
  • Example data in gui
  • Fixed working directory in gui
  • Repository and bug report in DESCRIPTION
  • Travis support

SSDM 0.1.9026

  • checkargs
  • stack_modelling cores
  • NEWS & README

SSDM 0.1.9025

Dimitri Justeau: endemism parameter bug in the gui fixed

SSDM 0.1.9024

  • Enable host and port option when launching the gui Dimitri Justeau
  • README

SSDM 0.1.9023

  • tmmpath in stack_modelling()
  • split with '.Ensemble.SDM' instead of '.' in save, plot, and gui

SSDM 0.1.9022

  • ESDM list in plot.model bug fixed

SSDM 0.1.9021

  • CRAN second submit changes

SSDM 0.1.9020

  • CRAN first submit changes

SSDM 0.1.9019

  • Occurrences man url corrected
  • Check -as--cran
  • Check on CRAN win-build

SSDM 0.1.9018

  • save tab in gui debug for ESDM (Jay)

SSDM 0.1.9017

  • tmppath in ensemble_modelling dir creation (Jay)
  • tmp doc in ensemble_ and stack_modelling Florian de Boissieu

SSDM 0.1.9016

  • Weighted endemism index major change : range definition
  • load_occ major beug fixed, wrong rows were removed
  • tmppath change in ensemble and stack_modelling (overwrite of path var issue) Florian de Boissieu
  • raster::readAll to force loading Env in memory (load_var) Florian de Boissieu
  • Raster[Raster[]<=-900]=NA instead of reclassify Florian de Boissieu
  • Resample with more condition to avoid extra computing Florian de Boissieu
  • Add timestampt to ensemble_modelling Florian de Boissieu

SSDM 0.1.9015

  • n.cores parameter in GBM auto-adapted to parallel computing in stack_modelling
  • gc() added at the end of each modelling function to avoid memory loss
  • ensemble.AlgoSDM() weight corrected
  • .cran-comment in .Rbuildignore
  • shinyFiles in Suggests and checked when gui() is used
  • Check with 0 Notes 0 Warnings 0 Errors

SSDM 0.1.9014

  • Parallel computing with parallel::parLapply
  • .csv in save_model Dimitri Justeau
  • Species in ./Species in save_stack Dimitri Justeau
  • Stack results in ./Stack in save_stack Dimitri Justeau
  • Pearson cor = NA or NULL in evaluate.axis

SSDM 0.1.9013

  • Parallel computing: for loop correctly removed
  • load_var tested

SSDM 0.1.9012

  • Parallel computing for stack_modelling with parallel::mclapply

SSDM 0.1.9011

SSDM 0.1.9010

  • uncertainties stack bug catch in try
  • load_var with only folder path debug Dimitri Justeau
  • load_var parameter: factors -> categorical Dimitri Justeau
  • Presence / absence occurrences modelling (Robin Pouteau)

SSDM 0.1.9009

-Stacking Algo. Corr. row names duplicate (strsplit) - Duplicated '.tif' in load_occ docDimitri Justeau - Null supported by Spcol (default) in .checkargs Dimitri Justeau

SSDM 0.1.9008

  • Windows gui data input fix (default switch)

SSDM 0.1.9007

  • load_occ porr data load improvement (occ not in spatial extent + less than 3 occ)

SSDM 0.1.9006

  • ShinyApp structure in inst and shinyFiles working

SSDM 0.1.9005

  • All inputs changed with shinyFiles package + Pcol text + Description (gui and pkg doc)

SSDM 0.1.9004

  • Previous model input change (windows comptibilty)

SSDM 0.1.0

  • Initial private beta release!

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("SSDM")

0.2.4 by Sylvain Schmitt, a year ago


https://github.com/sylvainschmitt/SSDM


Report a bug at https://github.com/sylvainschmitt/SSDM/issues


Browse source code at https://github.com/cran/SSDM


Authors: Sylvain Schmitt , Robin Pouteau , Dimitri Justeau , Florian de Boissieu , Philippe Birnbaum


Documentation:   PDF Manual  


GPL (>= 3) | file LICENSE license


Imports sp, raster, methods, SDMTools, mgcv, earth, rpart, gbm, randomForest, dismo, nnet, e1071, shiny, shinydashboard, gplots, shinyFiles, spThin

Suggests testthat, knitr, rmarkdown, rgdal


See at CRAN