hull.beta {BAT}R Documentation

Beta diversity partitioning using convex hull hypervolumes.


Pairwise beta diversity partitioning into replacement and net difference in amplitude components of convex hulls.


hull.beta(comm, func = "jaccard", comp = FALSE)



A list of 'convhulln' objects, preferably built with function


Partial match indicating whether the Jaccard (default) or Soerensen family of beta diversity measures should be used.


Boolean indicating whether beta diversity components (shared and unique fractions) should be returned.


Computes a pairwise decomposition of the overall differentiation among kernel hypervolumes into two components: the replacement (shifts) of space between hypervolumes and net differences between the amount of space enclosed by each hypervolume. The beta diversity measures used here follow the FD partitioning framework where Btotal = Breplacement + Brichness. Beta diversity ranges from 0 (when hypervolumes are identical) to 1 (when hypervolumes are fully dissimilar). See Carvalho & Cardoso (2020) and Mammola & Cardoso (2020) for the full formulas of beta diversity used here.


Three pairwise distance matrices, one per each of the three beta diversity components.


Carvalho, J.C. & Cardoso, P. (2020) Decomposing the causes for niche differentiation between species using hypervolumes. Frontiers in Ecology and Evolution.

Mammola, S. & Cardoso, P. (2020) Functional diversity metrics using kernel density n-dimensional hypervolumes. Methods in Ecology and Evolution.


comm <- rbind(c(1,1,1,1,1), c(1,1,1,1,1), c(0,0,1,1,1),c(0,0,1,1,1))
colnames(comm) = c("SpA","SpB","SpC","SpD", "SpE")
rownames(comm) = c("Site 1","Site 2","Site 3","Site 4")

trait <- cbind(c(2.2,4.4,6.1,8.3,3),c(0.5,1,0.5,0.4,4))
colnames(trait) = c("Trait 1","Trait 2")
rownames(trait) = colnames(comm)

hvlist =, trait)
hvlist =, trait, axes = 2)
hull.beta(hvlist, comp = TRUE)

[Package BAT version 2.9.3 Index]