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).
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", ...)A community matrix.
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. If x is 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.
A two sided model formula in the form y ~ x,
where y is 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.
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.
Character, the entropy index to be calculated (see Details).
Logical, if TRUE then beta diversity is
standardized by its maximum (see Details).
Numeric, of length 1, the order of the generalized diversity index to be used.
Logical, indicates the calculation of beta diversity values, see Details.
Number of permutations to use. If nsimul = 0,
only the FUN argument is evaluated.
It is thus possible to reuse the statistic values
without a null model.
Null model method: either a name (character string) of
a method defined in make.commsim or a
commsim function.
The default "r2dtable" keeps row sums and column sums fixed.
See oecosimu for Details and Examples.
Other arguments passed to oecosimu, i.e.
method, thin or burnin.
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.
An object of class "multipart" with same structure as
"oecosimu" objects.
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.
## 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 -98.490 14.0889 14.0351 14.0982 14.1282 0.05 *
#> gamma 12.006 -512.652 14.1372 14.1308 14.1369 14.1449 0.05 *
#> beta.1 1.071 33.817 1.0034 1.0006 1.0030 1.0072 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 -53.825 12.1908 12.0664 12.1777 12.3120 0.05 *
#> alpha.2 11.2353 -111.011 14.0837 14.0366 14.0825 14.1191 0.05 *
#> alpha.3 12.0064 -246.118 14.1344 14.1193 14.1343 14.1473 0.05 *
#> gamma 14.1603 0.000 14.1603 14.1603 14.1603 14.1603 1.00
#> beta.1 1.3568 24.149 1.1587 1.1451 1.1580 1.1707 0.05 *
#> beta.2 1.0710 38.625 1.0036 1.0010 1.0036 1.0068 0.05 *
#> beta.3 1.1794 289.693 1.0018 1.0009 1.0018 1.0029 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 -59.380 12.218500 12.126331 12.208775 12.3354 0.05 *
#> alpha.2 11.235261 -97.313 14.083764 14.041873 14.085625 14.1246 0.05 *
#> alpha.3 12.006443 -371.914 14.134696 14.125340 14.134883 14.1444 0.05 *
#> gamma 14.160271 0.000 14.160271 14.160271 14.160271 14.1603 1.00
#> beta.1 0.078594 24.413 0.068121 0.067491 0.068122 0.0689 0.05 *
#> beta.2 0.535514 32.552 0.501813 0.500204 0.501684 0.5034 0.05 *
#> beta.3 0.589695 437.836 0.500905 0.500561 0.500898 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 -62.544 12.1972 12.0884 12.2021 12.3131 0.05 *
#> alpha.2 11.2353 -84.311 14.0758 14.0228 14.0722 14.1294 0.05 *
#> alpha.3 12.0064 -438.276 14.1359 14.1272 14.1365 14.1430 0.05 *
#> gamma 14.1603 0.000 14.1603 14.1603 14.1603 14.1603 1.00
#> beta.1 1.7578 94.723 1.1610 1.1500 1.1605 1.1714 0.05 *
#> beta.2 1.2603 105.626 1.0060 1.0022 1.0063 1.0098 0.05 *
#> beta.3 1.1794 515.928 1.0017 1.0012 1.0017 1.0023 0.05 *
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1