Scalable Joint Species Distribution Modeling
Overview
A scalable and fast method for estimating joint Species Distribution Models (jSDMs) for big community data, including eDNA data. The package estimates a full (i.e. non-latent) jSDM with different response distributions (including the traditional multivariate probit model). The package allows to perform variation partitioning (VP) / ANOVA on the fitted models to separate the contribution of environmental, spatial, and biotic associations. In addition, the total R-squared can be further partitioned per species and site to reveal the internal metacommunity structure, see Leibold et al., doi:10.1111/oik.08618. The internal structure can then be regressed against environmental and spatial distinctiveness, richness, and traits to analyze metacommunity assembly processes. The package includes support for accounting for spatial autocorrelation and the option to fit responses using deep neural networks instead of a standard linear predictor. As described in Pichler & Hartig (2021) doi:10.1111/2041-210X.13687, scalability is achieved by using a Monte Carlo approximation of the joint likelihood implemented via 'PyTorch' and 'reticulate', which can be run on CPUs or GPUs.
- importance function was removed (deprecated)
Bug fixes
- cv function, use correct indices in parallel block modus #155, thanks to @jannebor
- remove ggtern dependency
From NEWS.md in the release
Install
Health
WARNINGS3 generic/method consistencyr-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc
warning: Failed to inspect Python interpreter from search path at `/usr/sbin/pypy` cause: Can't use Python at `/usr/sbin/pypy` cause: Python executable does not support `-I` flag. Please use Python 3.6 or newer. See section ‘Generic functions and methods’ in the ‘Writing R Extensions’ manual.
WARNINGfor code/documentation mismatchesr-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc
warning: Failed to inspect Python interpreter from search path at `/usr/sbin/pypy` cause: Can't use Python at `/usr/sbin/pypy` cause: Python executable does not support `-I` flag. Please use Python 3.6 or newer. warning: Failed to inspect Python interpreter from search path at `/usr/sbin/pypy` cause: Can't use Python at `/usr/sbin/pypy` cause: Python executable does not support `-I` flag. Please use Python 3.6 or newer. warning: Failed to inspect Python interpreter from search path at `/usr/sbin/pypy` cause: Can't use Python at `/usr/sbin/pypy` cause: Python executable does not support `-I` flag. Please use Python 3.6 or newer.
WARNINGfor missing documentation entriesr-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc
warning: Failed to inspect Python interpreter from search path at `/usr/sbin/pypy` cause: Can't use Python at `/usr/sbin/pypy` cause: Python executable does not support `-I` flag. Please use Python 3.6 or newer. All user-level objects in a package should have documentation entries. See chapter ‘Writing R documentation files’ in the ‘Writing R Extensions’ manual.
WARNINGreplacement functionsr-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc
warning: Failed to inspect Python interpreter from search path at `/usr/sbin/pypy` cause: Can't use Python at `/usr/sbin/pypy` cause: Python executable does not support `-I` flag. Please use Python 3.6 or newer. The argument of a replacement function which corresponds to the right hand side must be named ‘value’.
NOTER code for possible problemsr-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc
warning: Failed to inspect Python interpreter from search path at `/usr/sbin/pypy` cause: Can't use Python at `/usr/sbin/pypy` cause: Python executable does not support `-I` flag. Please use Python 3.6 or newer. warning: Failed to inspect Python interpreter from search path at `/usr/sbin/pypy` cause: Can't use Python at `/usr/sbin/pypy` cause: Python executable does not support `-I` flag. Please use Python 3.6 or newer. warning: Failed to inspect Python interpreter from search path at `/usr/sbin/pypy` cause: Can't use Python at `/usr/sbin/pypy` cause: Python executable does not support `-I` flag. Please use Python 3.6 or newer.
NOTERd \usage sectionsr-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc
warning: Failed to inspect Python interpreter from search path at `/usr/sbin/pypy` cause: Can't use Python at `/usr/sbin/pypy` cause: Python executable does not support `-I` flag. Please use Python 3.6 or newer. The \usage entries for S3 methods should use the \method markup and not their full name. See chapter ‘Writing R documentation files’ in the ‘Writing R Extensions’ manual.
NOTEdependencies in R coder-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc
warning: Failed to inspect Python interpreter from search path at `/usr/sbin/pypy` cause: Can't use Python at `/usr/sbin/pypy` cause: Python executable does not support `-I` flag. Please use Python 3.6 or newer.
NOTEforeign function callsr-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc
warning: Failed to inspect Python interpreter from search path at `/usr/sbin/pypy` cause: Can't use Python at `/usr/sbin/pypy` cause: Python executable does not support `-I` flag. Please use Python 3.6 or newer. See chapter ‘System and foreign language interfaces’ in the ‘Writing R Extensions’ manual.
NOTEwhether startup messages can be suppressedr-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc
warning: Failed to inspect Python interpreter from search path at `/usr/sbin/pypy` cause: Can't use Python at `/usr/sbin/pypy` cause: Python executable does not support `-I` flag. Please use Python 3.6 or newer. It looks like this package (or a package it requires) has a startup message which cannot be suppressed: see ?packageStartupMessage.
- WARNING11 OK, 2 WARNINGNow
- WARNING12 OK, 1 WARNING2026-09-10
- OK13 OK2026-08-04
- NOTE12 OK, 1 NOTE2026-08-01
- OK13 OK2026-05-28
- ERROR12 OK, 1 ERROR2026-05-20
Show 1 earlier changeHide 1 earlier change
- OK14 OK2026-03-10
Documentation
- Help pages
- 59includes a package overview page
- Examples that run
- 0%18 never run
- Exported functions with examples
- 28%
- Documented parameters
- 100%
- Return-value docs
- 100%
- Help pages citing references
- 17%
Downloads
Repository
- PRs merged (all time)
- 94%
- Median days to close, 50 most recently updated closed issues
- 64
- Median days to close, 50 most recently updated closed PRs
- 0
Stars over time
Forks over time
Releases over time
Issues over time
PRs over time
Commits over time
5 development-tooling and community-health practices detected across 3 families in the upstream repository
Checks run against github.com/theoreticalecology/s-jsdm on 2026-10-21.
The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel
GitHub Pages site last deployed 2024-07-30
Dependencies
Code & Tests
Datasets
People & History
Pick two releases to compare their code metrics.
- RR 4.6.0 released · 2026-04-24
- 1.0.7Latest
- RR 4.5.0 released · 2025-04-11
- 1.0.62024-08-19 · diff ↗ ·
removed 2 exports
importance, plotInternalStructureadded 2 exports
internalStructure, plotAssemblyEffects - RR 4.4.0 released · 2024-04-24
- unarchivedReturned to CRAN2023-06-18
- 1.0.52023-06-18 · diff ↗
- archivedRemoved from CRAN2023-05-07requires archived package 'ggtern'
- RR 4.3.0 released · 2023-04-21
- 1.0.4
- 1.0.32022-09-14 · diff ↗
- 1.0.22022-06-24 · diff ↗
- RR 4.2.0 released · 2022-04-22
- 1.0.12022-03-11 · diff ↗
- 1.0.02022-01-10
- RR 4.1.0 released · 2021-05-18
Package metadata
- First published
- 2022-01-10
- Total releases
- 8 / 4 yrs
- License
- GPL-3 OSI
- Minimum R
- ≥ 4.1.0
- Bundled data
- 72 KB / 2 files
- Download size
- 1.2 MB
Cite
Cite this package
Run in R for the authors' entry:
citation("sjSDM")The package provides a citation file, so citation() returns the authors' own entry.
It points to 10.1111/2041-210x.13687.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-23, which the citation names so these numbers can be found later. More on citing and the projects behind them.