This function is intended to perform bootstrap statistics on a matrix of multilocus genotype counts in different populations. Results from this function should be interpreted carefully as the default statistics are known to have a downward bias. See the details for more information.
diversity_boot(
tab,
n,
n.boot = 1L,
n.rare = NULL,
H = TRUE,
G = TRUE,
lambda = TRUE,
E5 = TRUE,
...
)
a list of objects of class "boot".
a table produced from the poppr function
mlg.table()
. MLGs in columns and populations in rows
an integer > 0 specifying the number of bootstrap replicates to
perform (corresponds to R
in the function boot::boot()
.
an integer specifying the number of samples to be drawn in each
bootstrap replicate. If n.boot
< 2 (default), the number of samples
drawn for each bootstrap replicate will be equal to the number of samples in
the data set.
a sample size at which all resamplings should be performed.
This should be no larger than the smallest sample size. Defaults to
NULL
, indicating that each population will be sampled at its own
size.
logical whether or not to calculate Shannon's index
logical whether or not to calculate Stoddart and Taylor's index (aka inverse Simpson's index).
logical whether or not to calculate Simpson's index
logical whether or not to calculate Evenness
other parameters passed on to boot::boot()
and
diversity_stats()
.
Zhian N. Kamvar
Bootstrapping is performed in three ways:
if n.rare
is a number greater than zero, then bootstrapping
is performed by randomly sampling without replacement n.rare
samples from the data.
\item if `n.boot` is greater than 1, bootstrapping is performed by
sampling n.boot samples from a multinomial distribution weighted by the
proportion of each MLG in the data.\item if `n.boot` is less than 2, bootstrapping is performed by
sampling N samples from a multinomial distribution weighted by the
proportion of each MLG in the data.
When sampling with replacement, the diversity statistics here present a
downward bias partially due to the small number of samples in the data.
The result is that the mean of the bootstrapped samples will often be
much lower than the observed value. Alternatively, you can increase the
sample size of the bootstrap by increasing the size of n.boot
. Both
of these methods should be taken with caution in interpretation. There
are several R packages freely available that will calculate and perform
bootstrap estimates of Shannon and Simpson diversity metrics (eg.
entropart, entropy, simboot, and
EntropyEstimation. These packages also offer unbiased estimators of
Shannon and Simpson diversity. Please take care when attempting to
interpret the results of this function.
diversity_stats()
for basic statistic calculation,
diversity_ci()
for confidence intervals and plotting, and
poppr()
. For bootstrap sampling:
stats::rmultinom()
boot::boot()
library(poppr)
data(Pinf)
tab <- mlg.table(Pinf, plot = FALSE)
diversity_boot(tab, 10L)
if (FALSE) {
# This can be done in a parallel fashion (OSX uses "multicore", Windows uses "snow")
system.time(diversity_boot(tab, 10000L, parallel = "multicore", ncpus = 4L))
system.time(diversity_boot(tab, 10000L))
}
Run the code above in your browser using DataLab