Learn R Programming

bipartite (version 2.19)

webs2array: Puts two or more webs into one array of webs

Description

Function to put several webs into an array, blowing the dimensions up to the union of species

Usage

webs2array(x, ...)

Value

An array of dimensions (number of species in lower level, number of species in higher level, number of webs).

Arguments

x

either a matrix containing a web, or a list of webs.

...

further optional matrices provided, if x is not a list (see example). Note that this input will be ignored if x is a list!

Author

Carsten F. Dormann carsten.dormann@biom.uni-freiburg.de and Jochen Fründ

Details

Some analyses may require a direct comparison of two webs, e.g. computing their similarity in number of interactions per link (e.g. Poisot et al. 2012). To be able to do that, we first need to blow the single webs up to have the same dimensions, i.e. padding all species not observed in this web with 0s. This function produces a new raw matrix based on the union of species for each trophic level and puts these for all species into one array.

If the function is used on a list of webs that has no names, new names will be created in the format ``web1'', ``web2'', etc.

References

Poisot, T., E. Canard, D. Mouillot, N. Mouquet, D. Gravel, and F. Jordan. 2012. The dissimilarity of species interaction networks. Ecology Letters 15, 1353–-1361. doi: 10.1111/ele.12002

Examples

Run this code
data(Safariland, vazquenc, vazquec)
allin1 <- webs2array(Safariland, vazquenc, vazquec)
str(allin1)

# alternatively: provide a (named) list as input to web2array:
example <- list(Safariland, vazquenc, vazquec)
str(webs2array(example)) # no names!

# named list as input:
example2 <- list("Saf"=Safariland, "Vquenc"=vazquenc, "Vquec"=vazquec)
str(webs2array(example2)) # with names provided

# now we can compute distance between two webs:
vegdist(t(cbind(as.vector(allin1[,,1]), as.vector(allin1[,,2]), as.vector(allin1[,,3]))), 
  method="jacc")
  

Run the code above in your browser using DataLab