nested: Calculates any of several measures of nestedness

Description Usage Arguments Details Value Note Author(s) References See Also Examples

View source: R/nested.r


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


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



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.


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


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.


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


There are five different measures currently available:


binmatnest calculates nestedness temperature following the function nestedness (0 = cold = highly nested; 100 = hot = not nested at all). It uses the original program of Miguel Rodriguez-Girones, only called from R; binmatnest2, in contrast, is the implementation in nestedtemp of the same algorithm by Jari Oksanen. Because binmatnest sometimes (and to us unexplicably) invert the matrix, we prefer the binmatnest2 option.


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.


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).


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.


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


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.


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


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!


Carsten F. Dormann [email protected]


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.

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 []

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


## Not run: 
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)

Example output

Loading required package: vegan
Loading required package: permute
Loading required package: lattice
This is vegan 2.4-4
Loading required package: sna
Loading required package: statnet.common

Attaching package: 'statnet.common'

The following object is masked from 'package:base':


Loading required package: network
network: Classes for Relational Data
Version 1.13.0 created on 2015-08-31.
copyright (c) 2005, Carter T. Butts, University of California-Irvine
                    Mark S. Handcock, University of California -- Los Angeles
                    David R. Hunter, Penn State University
                    Martina Morris, University of Washington
                    Skye Bender-deMoll, University of Washington
 For citation information, type citation("network").
 Type help("network-package") to get started.

sna: Tools for Social Network Analysis
Version 2.4 created on 2016-07-23.
copyright (c) 2005, Carter T. Butts, University of California-Irvine
 For citation information, type citation("sna").
 Type help(package="sna") to get started.

 This is bipartite 2.08
 For latest changes see versionlog in  ?"bipartite-package".
 For citation see: citation("bipartite").
 Have a nice time plotting and analysing two-mode networks.

Attaching package: 'bipartite'

The following object is masked from 'package:vegan':


 binmatnest2.temperature               binmatnest discrepancy2.discrepancy 
              19.8540553                5.7626076               15.0000000 
             discrepancy                  C.score                  checker 
              21.0000000                0.5616097                1.0227920 
                   NODF2                     NODF            weighted NODF 
              24.5478036               18.0878553               11.6063738 
 binmatnest2.temperature               binmatnest discrepancy2.discrepancy 
              78.9967443               94.2373924               15.0000000 
             discrepancy                  C.score                  checker 
              21.0000000                0.5616097                1.0227920 
                   NODF2                     NODF            weighted NODF 
              24.5478036               18.0878553               11.6063738 
  C.score   checker 
0.5616097 1.0227920 

bipartite documentation built on July 13, 2018, 1:04 a.m.