Calculates matrix temperature using the binmatnest programm of Miguel Rodr<U+00ED>guez-Giron<U+00E9>s
nestedness(m, null.models = TRUE, n.nulls = 100, popsize = 30,
n.ind = 7, n.gen = 2000, binmatnestout=FALSE)
m
is the matrix object for which the temperature is calculated. m
will be converted to a binary matrix as temperature is only based on binary data
Logical; shall the three different null models to check for significance of the matrix temperature be calculated? The null models procedure is
quite time consuming and therefore we added this switch. Defaults to null.models
=TRUE.
How many null models should be calculated. Defaults to n.nulls=100
.
For the genetic algorithm some parameters have to be initialised. First is popsize
, default is 30
Second is number of individuals picked for the next generation. Default of n.ind
is 7.
Third is the number of generations until the genetic algorithm stops. Default of n.gen
is 2000.
if set to TRUE a file "binmat.out" is saved in the current working directory , which stores the original binmatnest output
returns a list of matrix descriptors, such as
the matrix temperature
Parameters used for the genetic algorithm
switch if null models have been calculated, 1 for yes, 0 for no
probability, mean temperature and variance of temperature for the three different null models
the packing order of the most packed matrix (minimum temperature of a perfectly nested matrix using given size and fills.
There are several implementations of nestedness-calculators, most noticeably NTC (nestedness temperature calculator), BINMATNEST and aninhado (check Wikipedia's entry on the subject: https://en.wikipedia.org/wiki/Nestedness). While we here use BINMATNEST, this does not disqualify any of the others. Miguel was simply the first we contacted and he was readily willing to share his code.
Here we use BINMATNEST by calling a tweaked version of the C++ program binmatnest. In principle nestedness temperature is calculated by using a line of perfect order (using a genetic algorithm) to determine the reordering of rows and columns that leads to minimum matrix temperature of given size and fills. The deviation from this minimun temperature is the matrix temperature. In addition nestedness uses different null models to check for statistical significance of the matrix temperature. For details on what BINMATNEST does different, and better, than the original NTC see reference below.
Notice also that the original software BINMATNEST is available as a stand-alone application, too. Check out Miguel's homepage: http://www.eeza.csic.es/eeza/personales/rgirones.aspx
Rodr<U+00ED>guez-Giron<U+00E9>s M.A., and Santamar<U+00ED>a L. 2006. A new algorithm to calculate the nestedness temperature of presence-absence matrices. Journal of Biogeography 33, 924--935
# NOT RUN {
# }
# NOT RUN {
data(vazarr)
nestedness(vazarr) # null models are calculated
# no null models, much faster for bigger matrices:
nestedness(vazarr, null.models=FALSE)
nestedness(vazarr, n.nulls=300, n.gen=300)
# }
Run the code above in your browser using DataLab