Multiplicative Diversity Partitioning
multipart.RdIn multiplicative 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 or the pooled samples (gamma diversity).
Usage
multipart(...)
# Default S3 method
multipart(y, x, index=c("renyi", "tsallis"), scales = 1,
global = FALSE, relative = FALSE, nsimul=99, method = "r2dtable", ...)
# S3 method for class 'formula'
multipart(formula, data, index=c("renyi", "tsallis"), scales = 1,
global = FALSE, relative = FALSE, nsimul=99, method = "r2dtable", ...)Arguments
- y
A community matrix.
- x
A matrix with same number of rows as in
y, columns coding the levels of sampling hierarchy. The number of groups within the hierarchy must decrease from left to right. Ifxis missing, two levels are assumed: each row is a group in the first level, and all rows are in the same group in the second level.- formula
A two sided model formula in the form
y ~ x, whereyis the community data matrix with samples as rows and species as column. Right hand side (x) must be grouping variable(s) referring to levels of sampling hierarchy, terms from right to left will be treated as nested (first column is the lowest, last is the highest level). The formula will add a unique indentifier to rows and constant for the rows to always produce estimates of row-level alpha and overall gamma diversities. You must use non-formula interface to avoid this behaviour. Interaction terms are not allowed.- data
A data frame where to look for variables defined in the right hand side of
formula. If missing, variables are looked in the global environment.- index
Character, the entropy index to be calculated (see Details).
- relative
Logical, if
TRUEthen beta diversity is standardized by its maximum (see Details).- scales
Numeric, of length 1, the order of the generalized diversity index to be used.
- global
Logical, indicates the calculation of beta diversity values, see Details.
- nsimul
Number of permutations to use. If
nsimul = 0, only theFUNargument is evaluated. It is thus possible to reuse the statistic values without a null model.- method
Null model method: either a name (character string) of a method defined in
make.commsimor acommsimfunction. The default"r2dtable"keeps row sums and column sums fixed. Seeoecosimufor Details and Examples.- ...
Other arguments passed to
oecosimu, i.e.method,thinorburnin.
Details
Multiplicative diversity partitioning is based on Whittaker's (1972) ideas, that has recently been generalised to one parametric diversity families (i.e. Rényi and Tsallis) by Jost (2006, 2007). Jost recommends to use the numbers equivalents (Hill numbers), instead of pure diversities, and proofs, that this satisfies the multiplicative partitioning requirements.
The current implementation of multipart calculates Hill numbers
based on the functions renyi and tsallis
(provided as index argument).
If values for more than one scales are desired,
it should be done in separate runs, because it adds extra dimensionality
to the implementation, which has not been resolved efficiently.
Alpha diversities are then the averages of these Hill numbers for
each hierarchy levels, the global gamma diversity is the alpha value
calculated for the highest hierarchy level.
When global = TRUE, beta is calculated relative to the global gamma value:
$$\beta_i = \gamma / \alpha_{i}$$
when global = FALSE, beta is calculated relative to local
gamma values (local gamma means the diversity calculated for a particular
cluster based on the pooled abundance vector):
$$\beta_ij = \alpha_{(i+1)j} / mean(\alpha_{ij})$$
where \(j\) is a particular cluster at hierarchy level \(i\).
Then beta diversity value for level \(i\) is the mean of the beta
values of the clusters at that level, \(\beta_{i} = mean(\beta_{ij})\).
If relative = TRUE, the respective beta diversity values are
standardized by their maximum possible values (\(mean(\beta_{ij}) / \beta_{max,ij}\))
given as \(\beta_{max,ij} = n_{j}\) (the number of lower level units
in a given cluster \(j\)).
The expected diversity components are calculated nsimul
times by individual based randomization of the community data matrix.
This is done by the "r2dtable" method in oecosimu by default.
References
Jost, L. (2006). Entropy and diversity. Oikos, 113, 363–375.
Jost, L. (2007). Partitioning diversity into independent alpha and beta components. Ecology, 88, 2427–2439.
Whittaker, R. (1972). Evolution and measurement of species diversity. Taxon, 21, 213–251.
Author
Péter Sólymos, solymos@ualberta.ca
Examples
## 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(
l2=cutter(y, cut = seq(0, 10, by = 2.5)),
l3=cutter(y, cut = seq(0, 10, by = 5))))
## Multiplicative diversity partitioning
multipart(mite, levsm, index="renyi", scales=1, nsimul=19)
#> multipart object
#>
#> Call: multipart(y = mite, x = levsm, index = "renyi", scales = 1,
#> nsimul = 19)
#>
#> nullmodel method ‘r2dtable’ with 19 simulations
#> options: index renyi, scales 1, global FALSE
#> alternative hypothesis: statistic is less or greater than simulated values
#>
#> statistic SES mean 2.5% 50% 97.5% Pr(sim.)
#> alpha.1 11.235 -86.274 14.09156 14.04462 14.09023 14.1526 0.05 *
#> gamma 12.006 -347.785 14.13701 14.12503 14.13722 14.1453 0.05 *
#> beta.1 1.071 30.485 1.00322 0.99898 1.00311 1.0065 0.05 *
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
multipart(mite ~ l2 + l3, levsm, index="renyi", scales=1, nsimul=19)
#> multipart object
#>
#> Call: multipart(formula = mite ~ l2 + l3, data = levsm, index =
#> "renyi", scales = 1, nsimul = 19)
#>
#> nullmodel method ‘r2dtable’ with 19 simulations
#> options: index renyi, scales 1, global FALSE
#> alternative hypothesis: statistic is less or greater than simulated values
#>
#> statistic SES mean 2.5% 50% 97.5% Pr(sim.)
#> alpha.1 8.0555 -65.308 12.19334 12.09580 12.19647 12.3007 0.05 *
#> alpha.2 11.2353 -97.382 14.08543 14.04611 14.08652 14.1460 0.05 *
#> alpha.3 12.0064 -304.415 14.13918 14.12519 14.14078 14.1482 0.05 *
#> gamma 14.1603 0.000 14.16027 14.16027 14.16027 14.1603 1.00
#> beta.1 1.3568 28.367 1.15797 1.14552 1.15727 1.1698 0.05 *
#> beta.2 1.0710 31.188 1.00382 0.99961 1.00412 1.0072 0.05 *
#> beta.3 1.1794 358.375 1.00149 1.00085 1.00138 1.0025 0.05 *
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
multipart(mite ~ ., levsm, index="renyi", scales=1, nsimul=19, relative=TRUE)
#> multipart object
#>
#> Call: multipart(formula = mite ~ ., data = levsm, index = "renyi",
#> scales = 1, relative = TRUE, nsimul = 19)
#>
#> nullmodel method ‘r2dtable’ with 19 simulations
#> options: index renyi, scales 1, global FALSE
#> alternative hypothesis: statistic is less or greater than simulated values
#>
#> statistic SES mean 2.5% 50% 97.5% Pr(sim.)
#> alpha.1 8.055481 -60.436 12.216906 12.112384 12.207103 12.3334 0.05 *
#> alpha.2 11.235261 -113.541 14.093594 14.050164 14.098231 14.1332 0.05 *
#> alpha.3 12.006443 -430.986 14.136651 14.125709 14.137728 14.1429 0.05 *
#> gamma 14.160271 0.000 14.160271 14.160271 14.160271 14.1603 1.00
#> beta.1 0.078594 22.347 0.068206 0.067283 0.068264 0.0690 0.05 *
#> beta.2 0.535514 37.965 0.501532 0.500094 0.501461 0.5031 0.05 *
#> beta.3 0.589695 507.286 0.500835 0.500616 0.500797 0.5012 0.05 *
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
multipart(mite ~ ., levsm, index="renyi", scales=1, nsimul=19, global=TRUE)
#> multipart object
#>
#> Call: multipart(formula = mite ~ ., data = levsm, index = "renyi",
#> scales = 1, global = TRUE, nsimul = 19)
#>
#> nullmodel method ‘r2dtable’ with 19 simulations
#> options: index renyi, scales 1, global TRUE
#> alternative hypothesis: statistic is less or greater than simulated values
#>
#> statistic SES mean 2.5% 50% 97.5% Pr(sim.)
#> alpha.1 8.0555 -64.399 12.1935 12.1272 12.1734 12.3279 0.05 *
#> alpha.2 11.2353 -113.939 14.0910 14.0545 14.0831 14.1329 0.05 *
#> alpha.3 12.0064 -334.584 14.1352 14.1273 14.1333 14.1486 0.05 *
#> gamma 14.1603 0.000 14.1603 14.1603 14.1603 14.1603 1.00
#> beta.1 1.7578 98.195 1.1613 1.1487 1.1632 1.1676 0.05 *
#> beta.2 1.2603 142.993 1.0049 1.0019 1.0055 1.0075 0.05 *
#> beta.3 1.1794 394.074 1.0018 1.0008 1.0019 1.0023 0.05 *
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1