Learn R Programming

spatialwarnings (version 3.1.0)

indicator_plrange: Power-law range indicator

Description

Compute the power-law range of a matrix

Usage

indicator_plrange(mat, merge = FALSE, xmin_bounds = NULL)

Value

A data.frame with columns minsize, maxsize which are the observed minimum and maximum patch sizes, the estimated \(x_{min}\) as column

xmin and the value of the power-law range as plrange. If multiple matrices were provided, then a list of data.frames is returned

Arguments

mat

A logical matrix, or a list of logical matrices

merge

Controls whether the patch-size distributions of the input matrices are merged together before computing the power-law range. Setting this value to TRUE makes the function return a single value even if multiple matrices are given as input.

xmin_bounds

A vector of two integer values, defining a range in which to search for the best xmin (see Details).

Details

Some ecosystems show typical changes in their patch-size distribution as they become more and more degraded. In particular, an increase in the truncation of the patch-size distribution (PSD) is expected to occur. The power-law range (PLR) measures the truncation of the PSD in a single value (see also patchdistr_sews for more details).

To compute the PLR, power-laws are fitted with a variable minimum patch size (\(x_{min}\)) and the one with the lowest Kolmogorov-Smirnov distance to the empirical distribution is retained. PLR is then computed using this best-fitting \(x_{min}\) as:

$$\frac{log(x_{max}) - log(x_{min})}{log(x_{max}) - log(x_{smallest})}$$

where \(x_{max}\) is the maximum observed patch size, and \(x_{smallest}\) is the minimum observed patch size.

References

Clauset, A., Shalizi, C. R., & Newman, M. E. (2009). Power-law distributions in empirical data. SIAM review, 51(4), 661-703.

Berdugo, M., Kefi, S., Soliveres, S. & Maestre, F.T. (2017). Plant spatial patterns identify alternative ecosystem multifunctionality states in global drylands. Nature in Ecology and Evolution.

See Also

patchdistr_sews

Examples

Run this code
# \donttest{
forestgap.plr <- indicator_plrange(forestgap) 
do.call(rbind, forestgap.plr) # convert results to data.frame

# Restrict to small xmins 
forestgap.plr2 <- indicator_plrange(forestgap, xmin_bounds = c(1, 10)) 
do.call(rbind, forestgap.plr2) 
# }

Run the code above in your browser using DataLab