diversity_boot(tab, n, n.boot = 1L, n.rare = NULL, H = TRUE, G = TRUE, lambda = TRUE, E5 = TRUE, ...)
mlg.table
. MLGs in columns and populations in rowsR
in the function boot
.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.NULL
, indicating that each population will be sampled at its own
size.boot
and
diversity_stats
.n.rare
is a number greater than zero, then bootstrapping
is performed by randomly sampling without replacement n.rare
samples from the data.
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.
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.
Downward Bias
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:
rmultinom
boot
library(poppr)
data(Pinf)
tab <- mlg.table(Pinf, plot = FALSE)
diversity_boot(tab, 10L)
## Not run:
# # 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))
# ## End(Not run)
Run the code above in your browser using DataLab