Added function extract_static_coords
for extracting
spatially-buffered co-ordinate data from static datasets.
Added arguments to dynamic_proj_covariates()
for
adding static rasters to covariates for each data (e.g. static elevation
raster)
Removed package dependency on raster
,
sp
, geodist
and
geosphere
.
All functions are now terra
and sf
compatible.
The package has since been published in the Open Access journal “Methods in Ecology and Evolution”
Dobson, R., Challinor, A.J., Cheke, R.A., Jennings, S., Willis, S.G. and Dallimer, M., 2023. dynamicSDM: An R package for species geographical distribution and abundance modelling at high spatiotemporal resolution. Methods in Ecology and Evolution, 14, 1190-1199.
Across ecological research fields, species distribution and abundance modelling (SDM) is a major tool for understanding the drivers and patterns of species occurrence. To advance our ability to model species inhabiting dynamic ecosystems worldwide, dynamicSDM facilitates the incorporation of explanatory variables that are dynamic in both space and time. Our functions are:
dynamicSDM functions are split into four key modelling stages: response data, explanatory variables, modelling relationships and dynamic projections. See the package manual here for more details on each function.
Functions for preparing species distribution or abundance model input data for modelling with spatiotemporally dynamic explanatory variables.
convert_gbif()
Transform Global Biodiversity
Information Facility occurrence records to dynamicSDM
compatible.spatiotemp_check()
Check species occurrence record
formatting, completeness and validity.spatiotemp_extent()
Filter species occurrence records
by a given spatial and temporal extent.spatiotemp_resolution()
Filter species occurrence
records by given spatial and temporal resolution.spatiotemp_bias()
Test for spatial and temporal bias in
species occurrence records.spatiotemp_thin()
Thin species occurrence records by
spatial and temporal proximity.spatiotemp_pseudoabs()
Generate pseudo-absence record
coordinates and dates.spatiotemp_weights()
Calculate sampling effort across
spatial and temporal buffer from occurrence records.Functions for extracting spatiotemporally dynamic explanatory variable data for species occurrence record co-ordinates and dates using Google Earth Engine.
extract_dynamic_coords()
Extract temporally dynamic
explanatory variable data for occurrence records.get_moving_window()
Generate a “moving window” matrix
of optimal size for spatial buffering of explanatory variable data.extract_buffered_coords()
Extract spatially buffered
and temporally dynamic explanatory variable data for occurrence
records.extract_coords_combine()
Combine extracted explanatory
variable data for occurrence records into single data frame for model
fitting.extract_static_coords
Extract spatially buffered data
from static rasters for occurrence record co-ordinates (no temporal
dimension).Functions for generating species distribution or abundance models that account for spatial and temporal autocorrelation in dynamic explanatory variables.
spatiotemp_autocorr()
Test for spatial and temporal
autocorrelation in species distribution model explanatory data.spatiotemp_block()
Split occurrence records into
spatial and temporal blocks for model fitting.brt_fit()
Fit boosted regression tree models to species
distribution or abundance data.Functions for generating explanatory variable projection data frames at given spatiotemporal extent and resolution, and projecting species dynamic distribution and abundance patterns onto these.
dynamic_proj_dates()
Generate vector of dates for
dynamic projectionsextract_dynamic_raster()
Extract temporally dynamic
rasters of explanatory variable data.extract_buffered_raster()
Extract spatially buffered
and temporally dynamic rasters of explanatory variable data.dynamic_proj_covariates()
Combine explanatory variable
rasters into a covariate data frame for each projection date.dynamic_proj()
Project species distribution and
abundance models onto dynamic environmental covariates.dynamic_proj_GIF()
Create GIF of dynamic species
distribution and abundance projections# Install using Github
install_github("r-a-dobson/dynamicSDM")
dynamicSDM depends on a range of spatial and graphic R packages, which may result in some persistent errors on installation or running of certain functions.
If you encounter an error or bug when installing and using dynamicSDM, please post a comment here for guidance and support from us.
Below we have outlined common errors and typical solutions to try, depending on your operating system
# Loading rgl's DLL failed. This build of rgl depends on XQuartz, which failed to load.
options(rgl.useNULL = TRUE)
library(rgl)
On Homebrew (macOS) run:
brew install pkg-config
brew install gdal
On Linux run:
sudo apt-get install libgdal-dev libproj-dev libgeos-dev libudunits2-dev netcdf-bin
Then in R run:
install.packages("Rcpp")
install.packages('terra', repos='https://rspatial.r-universe.dev')
On Homebrew (macOS) run:
brew install imagemagick@6
On Linux run:
sudo apt-get install -y libmagick++-dev
Then in R run:
install.packages("magick")