In additive diversity partitioning, mean values of alpha diversity at lower levels of a sampling
hierarchy are compared to the total diversity in the entire data set (gamma diversity).
In hierarchical null model testing, a statistic returned by a function is evaluated
according to a nested hierarchical sampling design (hiersimu
).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  adipart(...)
## Default S3 method:
adipart(y, x, index=c("richness", "shannon", "simpson"),
weights=c("unif", "prop"), relative = FALSE, nsimul=99, ...)
## S3 method for class 'formula'
adipart(formula, data, index=c("richness", "shannon", "simpson"),
weights=c("unif", "prop"), relative = FALSE, nsimul=99, ...)
hiersimu(...)
## Default S3 method:
hiersimu(y, x, FUN, location = c("mean", "median"),
relative = FALSE, drop.highest = FALSE, nsimul=99, ...)
## S3 method for class 'formula'
hiersimu(formula, data, FUN, location = c("mean", "median"),
relative = FALSE, drop.highest = FALSE, nsimul=99, ...)

y 
A community matrix. 
x 
A matrix with same number of rows as in 
formula 
A two sided model formula in the form 
data 
A data frame where to look for variables defined in the
right hand side of 
index 
Character, the diversity index to be calculated (see Details). 
weights 
Character, 
relative 
Logical, if 
nsimul 
Number of permutations to use if 
FUN 
A function to be used by 
location 
Character, identifies which function (mean or median) is to be used to calculate location of the samples. 
drop.highest 
Logical, to drop the highest level or not. When

... 
Other arguments passed to functions, e.g. base of
logarithm for Shannon diversity, or 
Additive diversity partitioning means that mean alpha and beta diversities add up to gamma diversity, thus beta diversity is measured in the same dimensions as alpha and gamma (Lande 1996). This additive procedure is then extended across multiple scales in a hierarchical sampling design with i = 1, 2, 3, …, m levels of sampling (Crist et al. 2003). Samples in lower hierarchical levels are nested within higher level units, thus from i=1 to i=m grain size is increasing under constant survey extent. At each level i, α_i denotes average diversity found within samples.
At the highest sampling level, the diversity components are calculated as
beta_m = gamma  alpha_m
For each lower sampling level as
beta_i = alpha_(i+1)  alpha_i
Then, the additive partition of diversity is
gamma = alpha_1 + sum(beta_i)
Average alpha components can be weighted uniformly
(weight="unif"
) to calculate it as simple average, or
proportionally to sample abundances (weight="prop"
) to
calculate it as weighted average as follows
alpha_i = sum(D_ij*w_ij)
where D_{ij} is the diversity index and w_{ij} is the weight calculated for the jth sample at the ith sampling level.
The implementation of additive diversity partitioning in
adipart
follows Crist et al. 2003. It is based on species
richness (S, not S1), Shannon's and Simpson's diversity
indices stated as the index
argument.
The expected diversity components are calculated nsimul
times
by individual based randomisation of the community data matrix. This
is done by the "r2dtable"
method in oecosimu
by
default.
hiersimu
works almost in the same way as adipart
, but
without comparing the actual statistic values returned by FUN
to the highest possible value (cf. gamma diversity). This is so,
because in most of the cases, it is difficult to ensure additive
properties of the mean statistic values along the hierarchy.
An object of class "adipart"
or "hiersimu"
with same
structure as oecosimu
objects.
Péter Sólymos, solymos@ualberta.ca
Crist, T.O., Veech, J.A., Gering, J.C. and Summerville, K.S. (2003). Partitioning species diversity across landscapes and regions: a hierarchical analysis of α, β, and γdiversity. Am. Nat., 162, 734–743.
Lande, R. (1996). Statistics and partitioning of species diversity, and similarity among multiple communities. Oikos, 76, 5–13.
See oecosimu
for permutation settings and
calculating pvalues. multipart
for multiplicative
diversity partitioning.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34  ## NOTE: 'nsimul' argument usually needs to be >= 99
## here much lower value is used for demonstration
data(mite)
data(mite.xy)
data(mite.env)
## Function to get equal area partitions of the mite data
cutter < function (x, cut = seq(0, 10, by = 2.5)) {
out < rep(1, length(x))
for (i in 2:(length(cut)  1))
out[which(x > cut[i] & x <= cut[(i + 1)])] < i
return(out)}
## The hierarchy of sample aggregation
levsm < with(mite.xy, data.frame(
l1=1:nrow(mite),
l2=cutter(y, cut = seq(0, 10, by = 2.5)),
l3=cutter(y, cut = seq(0, 10, by = 5)),
l4=cutter(y, cut = seq(0, 10, by = 10))))
## Let's see in a map
par(mfrow=c(1,3))
plot(mite.xy, main="l1", col=as.numeric(levsm$l1)+1, asp = 1)
plot(mite.xy, main="l2", col=as.numeric(levsm$l2)+1, asp = 1)
plot(mite.xy, main="l3", col=as.numeric(levsm$l3)+1, asp = 1)
par(mfrow=c(1,1))
## Additive diversity partitioning
adipart(mite, index="richness", nsimul=19)
adipart(mite ~ ., levsm, index="richness", nsimul=19)
## Hierarchical null model testing
## diversity analysis (similar to adipart)
hiersimu(mite, FUN=diversity, relative=TRUE, nsimul=19)
hiersimu(mite ~., levsm, FUN=diversity, relative=TRUE, nsimul=19)
## Hierarchical testing with the Morisita index
morfun < function(x) dispindmorisita(x)$imst
hiersimu(mite ~., levsm, morfun, drop.highest=TRUE, nsimul=19)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.