directional.response: Directional indices of community change

View source: R/directional.response.R

directional.responseR Documentation

Directional indices of community change

Description

Compute directional indices of community change along coenoclines or time.

Usage

directional.response(mat, method = "overlap", relativize = NULL)

Arguments

mat

A community composition data matrix with sites in rows and species in columns. The direction of the physical process is indicated by the order of the sampling units in mat. The class of mat can be either data.frame or matrix.

method

One of the 11 calculation methods available in the function: "overlap", "gain", "loss", "gaining.turnover", "neutral.turnover", "losing.turnover", "gaining.nestedness", "neutral.nestedness", "losing.nestedness", "gaining.strict.nestedness", "losing.strict.nestedness". The default value is method="overlap".

relativize

Compute relativized indices: relativize="J" for the Jaccard denominator (a+b+c) or relativize="S" for the Sorensen denominator (2*a+b+c). If relativize=NULL, the index is not divided by a denominator.

Details

The output matrix is non-symmetric, meaning that its upper triangle is not the mirror image of the lower triangle. Given the direction of the physical process through space or time indicated by the order of the sampling units, the output matrix mat.out reflects that direction in its non-symmetric presentation, From (rows of the matrix) To (columns of the matrix). Users of the function can extract one or the other of these triangular portions and analyse them separately. See Appendix xx for examples.

Value

A list containing the following results:

  • mat.out: A square matrix with the chosen index computed among the sites. Depending on the method chosen, this matrix may be symmetric or non-symmetric. total.t: methods #4 to 6, a matrix with total turnover (b+c); else NA. total.n: For methods #7 to 9, a matrix with total nestedness a+abs(b-c) if a>0; else NA. total.strict.n: For methods #10 and 11, a matrix with total strict nestedness a+abs(b-c) if a>0 and b!=c; else NA. den: For calculation results with Jaccard or Sorensen denominators: a square matrix of denominators. If relativize=NULL, den=NA.

Author(s)

Dénes Schmera schmera.denes@blki.hu and Pierre Legendre pierre.legendre@umontreal.ca

References

Schmera, D., P. Legendre, T. Eros, M. Toth, E. K. Magyari, B. Baur and J. Podani. 2022. New measures for quantifying directional changes in presence-absence community data. Ecological Indicators 136: 108618. https://doi.org/10.1016/j.ecolind.2022.108618

Verneaux, J. (1973) Cours d'eau de Franche-Comté (Massif du Jura). Recherches écologiques sur le réseau hydrographique du Doubs. Essai de biotypologie. Thèse d'État, Besançon. 1–257.

Examples


# Artificial Example
art <- c(1,1,1,0,0,0,
         0,0,0,1,1,0,
         0,0,0,0,0,1)
art.data <- matrix(art, nrow=3, ncol=6, byrow=TRUE)

art.out <- directional.response(art.data, method="overlap",relativize=NULL)

# Real data example: the Doubs River fish data (Verneaux 1973), available in ade4.
# 30 sites, 27 species. No fish had been caught at site 8; remove that site
if(require("ade4", quietly = TRUE)) {

data(doubs)
dim(doubs$fish)   
fish <- doubs$fish[-8,] 
dim(fish)
doubs.out <- directional.response(fish, method="gain", relativize="S")
}


sdray/adespatial documentation built on March 30, 2024, 12:30 a.m.