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

View source: R/webs2array.R

webs2arrayR Documentation

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

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!

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.

Value

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

Note

When building the webs from a table of observed interactions, function frame2webs allows to build a web-array when using type.out="array". That would be preferable (faster and only one step)!

Combining webs into one array makes sense only for webs featuring overlapping communities!

Author(s)

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

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

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

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