r2dtable
), 2. connectance is as observed (as in shuffle.web
.)swap.web(N, web, verbose=FALSE, c.crit=1e4)
r2dtable
, i.e. it returns a list of randomised matrices. In addition to r2dtable
is also keeps the connectance constant!
This function is thought of as a very constrained null model for the analysis of bipartite webs. It keeps two web properties constant: The marginal totals (as in r2dtable
and the number of links (and hence connectance). A comparison of swap.web
- and r2dtable
-based webs allows to elucidate the effect of evolutionary specialisation, since the unrealised connections may represent swap.web
starts with an r2dtable
-web and successively swap.web
works. It starts with a random web created by r2dtable
. Then, it finds, randomly, 2x2 submatrices with entries all larger than 0. Next, it subtracts the minimum value from the diagonal and adds it to the off-diagonal (minor diagonal). Thereby one cell becomes 0, but the column and row sums do not change. This idea is adapted from the swap-algorithm used in various binary null models by Nick Gotelli. If the random web has too few 0s (which is I have yet to encounter), then the opposite strategy is applied.
The algorithm in our implementation has some variations on finding the submatrix and constraining the number of unsuccessfull trials before starting on a new random matrix, but they are only for speeding up the process.Miklós, I. and Podani, J. (2004) Randomization of presence-absence matrices: comments and new algorithms. Ecology 85, 86--92 Vázquez, D. P., and M. A. Aizen (2003) Null model analyses of specialization in plant-pollinator interactions. Ecology 84, 2493--2501
Vázquez, D. P., C. J. Melian, N. M. Williams, N. Blüthgen, B. R. Krasnov, and R. Poulin (2007) Species abundance and asymmetric interaction strength in ecological networks. Oikos 116, 1120--1127
For a very nice and thorough overview of null models in general see:
Gotelli, N. J., and G. R. Graves (1996) Null Models in Ecology. Smithsonian Institution Press, Washington D.C.
r2dtable
, vaznull
and shuffle.web