nested: Calculates any of several measures of nestedness

View source: R/nested.r

nestedR Documentation

Calculates any of several measures of nestedness

Description

Wrapper function calling one, several or all currently implemented nestedness measures

Usage

nested(web, method = "binmatnest", rescale=FALSE, normalised=TRUE)

Arguments

web

A matrix with elements of a set (e.g. plants) as rows, elements of a second set (e.g. pollinators) as columns and number of interactions as entries.

method

One or more of the following: discrepancy, discrepancy2, binmatnest, NODF, NODF2, C score, checker, weighted NODF, wine, ALL. See details for details on each method.

rescale

Should all measures be rescaled so that higher values mean higher nestedness? Defaults to FALSE, i.e. the standard interpretation of each measure is maintained.

normalised

Logical, defaulting to TRUE. Should C-scores be normalised to a value between 0 and 1? See C.score for details.

Details

There are seven different measures (with variations yielding ten indices) currently available:

1

binmatnest calculates nestedness temperature following the function nestedtemp (0 = cold = highly nested; 100 = hot = not nested at all). (Note that we replaced binmatnest, which calls the retired nestedness, which used the original C++-program of Miguel Rodriguez-Girones, by what used to be binmatnest2. Because binmatnest sometimes (and to us unexplicably) invert the matrix, we prefer the vegan's binmatnest2, now binmatnest, option. That is the implementation by Jari Oksanen in nestedtemp of the same algorithm.)

2

Discrepancy calculates the number of non-nested 0s and 1s. While discrepancy calls the function with the same name, discrepancy2 calls nesteddisc, which handles ties differently. Most of the time, these two should deliver very, very similar results. Higher values indicate lower nestedness.

3

NODF is the nestedness measure proposed by Almeida-Neto et al., correcting for matrix fill and matrix dimensions. Values of 0 indicate non-nestedness, those of 100 perfect nesting. NODF2 sorts the matrix before calculating the measure. NODF is, I understand, closer to the version presented in the paper, while NODF2 seems to make more sense for comparisons across different networks (because it is independent of the initial presentation of the matrix). Both call nestednodf in vegan. (Yes, I initially programmed NODF myself, only to find that it was there already. Luckily, there was a perfect agreement between my (depricated) version and nestednodf.) A weighted version is also now available (see point 6 below), following the paper of Almeida-Neto and Ulrich (2010).

4

C.score calculates the number of checkerboard pattern in the matrix. As default, it normalises this value between min and max, so that values of 0 indicate no checkerboards (i.e. nesting), while a value of 1 indicates a perfect checkerboard. checker is the non-normalised version, based on nestedchecker.

5

wine is one of two nestedness measure using the information on the weight of a link. See wine for details.

6

weighted NODF is a version of 3, but now incorporating information on the weights of the link; it is the second quantitative nestedness measure, (chronologically) after wine. It uses the sorted matrix to compute NODF. If you want NODF of the unsorted, you have to directly use nestednodf in vegan.

7

weighted NODA, or WNODA, does try to give a good nestedness measure without correcting for column/row expectations, as that should be left to the null model; see Félix et al. (2017) for details. Also, NODA accounts for modular structures of the network, computing nestedness separately in each (see nest.smdm for further details).

Value

A vector with values for each of the selected nestedness measures.

Note

The idea behind this function is to encourage the comparison of different nestedness measures. That does not mean, we necessarily see much ecological sense in them (see, e.g., the paper by Blüthgen et al. 2008).

nested uses one non-default setting for the nestedness measures called: null.models=FALSE. This is simply to speed up the computation. Null models should be built for all nestedness measures, of course, not only for nestedness!

Author(s)

Carsten F. Dormann carsten.dormann@biom.uni-freiburg.de

References

Almeida-Neto, M., Guimaraes, P., Guimaraes, P.R., Loyola, R.D. and Ulrich, W. 2008. A consistent metric for nestedness analysis in ecological systems: reconciling concept and measurement. Oikos 117, 1227–1239.

Almeida-Neto, M. and Ulrich, W. (2011) A straightforward computational approach for measuring nestedness using quantitative matrices. Environmental Modelling & Software, 26, 173–178

Blüthgen, N., J. Fründ, D. P. Vazquez, and F. Menzel. 2008. What do interaction network metrics tell us about specialisation and biological traits? Ecology 89, 3387–3399.

Brualdi, R.A. and Sanderson, J.G. 1999. Nested species subsets, gaps, and discrepancy. Oecologia 119, 256–264.

Felix, G.M., Pinheiro, R.B.P., Poulin, R., Krasnov, B.R. & Mello, M.A.R. (2017). The compound topology of a continent-wide interaction network explained by an integrative hypothesis of specialization. bioRxiv

Galeano, J., Pastor, J.M., Iriondo and J.M. 2008. Weighted-Interaction Nestedness Estimator (WINE): A new estimator to calculate over frequency matrices. arXiv 0808.3397v2 [physics.bio-ph]

Rodríguez-Gironés, M.A. and Santamaría, L. 2006. A new algorithm to calculate the nestedness temperature of presence-absence matrices. J. Biogeogr. 33, 924–935.

Stone, L. and Roberts, A. 1990. The checkerboard score and species distributions. Oecologia 85, 74–79.

Almeida-Neto, M. and Ulrich, W. 2010. A straightforward computational approach for measuring nestedness using quantitative matrices. Environmental Modelling & Software, in press.

See Also

C.score, wine, nestedness, discrepancy; and, within vegan: nestedtemp, nestedchecker, nesteddisc, nestednodf

Examples

## Not run: 
data(Safariland)
nested(Safariland, "ALL")
nested(Safariland, "ALL", rescale=TRUE)
# illustration that non-normalised C.score and checker are the same:
nested(Safariland, c("C.score", "checker"), normalise=FALSE)

## End(Not run)

bipartite documentation built on May 29, 2024, 2:23 a.m.