iNEXT.3D
(INterpolation and EXTrapolation for three dimensions of biodiversity)
is a sequel to iNEXT
(Hsieh et al., 2016). Here the three dimensions (3D) of diversity
include taxonomic diversity (TD), phylogenetic diversity (PD) and
functional diversity (FD). An online version “iNEXT.3D Online” (https://chao.shinyapps.io/iNEXT_3D/) is also available
for users without an R background.
A unified framework based on Hill numbers (for TD) and their
generalizations (Hill-Chao numbers, for PD and FD) is adopted to
quantify 3D. In this framework, TD quantifies the effective number of
species, PD quantifies the effective total branch length, mean-PD (PD
divided by tree depth) quantifies the effective number of lineages, and
FD quantifies the effective number of virtual functional groups (or
functional “species”). Thus, TD, mean-PD, and FD are all in the same
units of species/lineage equivalents and can be meaningfully compared;
see Chao et al. (2014) for the basic standardization theory for TD, and
Chao et al. (2021) for a review of the unified theory for 3D.
For each of the three dimensions of biodiversity,
iNEXT.3D features two statistical analyses (non-asymptotic
and asymptotic):
- A non-asymptotic approach based on interpolation and extrapolation
for 3D diversity (i.e., Hill-Chao numbers)
iNEXT.3D computes the estimated 3D diversity for
standardized samples with a common sample size or sample completeness.
This approach aims to compare diversity estimates for equally-large
(with a common sample size) or equally-complete (with a common sample
coverage) samples; it is based on the seamless rarefaction and
extrapolation (R/E) sampling curves of Hill-Chao numbers for q = 0, 1
and 2. For each dimension of biodiversity, iNEXT.3D offers
three types of R/E sampling curves:
Sample-size-based (or size-based) R/E sampling curves: This type
of sampling curve plots the diversity estimates with respect to sample
size.
Coverage-based R/E sampling curves: This type of sampling curve
plots the diversity estimates with respect to sample coverage.
Sample completeness curve: This curve depicts how sample coverage
varies with sample size. The sample completeness curve provides a bridge
between the size- and coverage-based R/E sampling curves.
- An asymptotic approach to infer asymptotic 3D diversity (i.e.,
Hill-Chao numbers)
iNEXT.3D computes the estimated asymptotic 3D diversity
and also plots 3D diversity profiles (q-profiles) for q between 0 and 2,
in comparison with the observed diversity. Typically, the asymptotic
estimates for q \(\geq\) 1 are
reliable, but for q < 1 (especially for q = 0, species richness), the
asymptotic estimates represent only lower bounds. iNEXT.3D
also features a time-profile (which depicts the observed and asymptotic
estimate of PD or mean PD with respect to reference times), and a
tau-profile (which depicts the observed and asymptotic estimate of FD
with respect to threshold level tau).
How to cite
If you publish your work based on results from iNEXT.3D
package, you should make references to the following methodology paper
and the package:
Chao, A., Henderson, P. A., Chiu, C.-H., Moyes, F., Hu, K-H.,
Dornelas, M and. Magurran, A. E. (2021). Measuring temporal change in
alpha diversity: a framework integrating taxonomic, phylogenetic and
functional diversity and the iNEXT.3D standardization. Methods in
Ecology and Evolution, 12, 1926-1940.
Chao, A. and Hu, K.-H. (2023). The iNEXT.3D package:
interpolation and extrapolation for three dimensions of biodiversity. R
package available from CRAN.
SOFTWARE NEEDED TO RUN iNEXT.3D IN R
HOW TO RUN iNEXT.3D:
The iNEXT.3D package can be downloaded from CRAN or Anne
Chao’s iNEXT.3D_github using
the commands below. For a first-time installation, some additional
packages must be installed and loaded; see package manual.
## install iNEXT.3D package from CRAN
install.packages("iNEXT.3D")
## or install the latest version from github
install.packages('devtools')
library(devtools)
install_github('AnneChao/iNEXT.3D')
## import packages
library(iNEXT.3D)
There are six main functions in this package:
Two functions for non-asymptotic analysis with graphical
displays:
iNEXT3D computes standardized 3D diversity
estimates of order q = 0, 1 and 2 for rarefied and extrapolated samples
at specified sample coverage values and sample sizes.
ggiNEXT3D visualizes the output from the
function iNEXT3D.
Two functions for point estimation and basic data information
estimate3D computes 3D diversity of order q = 0,
1 and 2 with a particular set of user-specified level of sample sizes or
sample coverage values.
DataInfo3D provides basic data information based
on the observed data.
Two functions for asymptotic analysis with graphical displays:
ObsAsy3D computes observed and asymptotic
diversity of order q between 0 and 2 (in increments of 0.2) for 3D
diversity; it also computes observed and asymptotic PD for specified
reference times, and observed and asymptotic FD for specified threshold
levels.
ggObsAsy3D visualizes the output from the
function ObsAsy3D.
MAIN FUNCTION iNEXT3D():
RAREFACTION/EXTRAPOLATION
We first describe the main function iNEXT3D() with
default arguments:
iNEXT3D(data, diversity = 'TD', q = c(0,1,2), datatype = "abundance",
size = NULL, endpoint = NULL, knots = 40, nboot = 50, conf = 0.95, nT = NULL,
PDtree = NULL, PDreftime = NULL, PDtype = 'meanPD',
FDdistM, FDtype = 'AUC', FDtau = NULL, FDcut_number = 50)
The arguments of this function are briefly described below, and will
be explained in more details by illustrative examples in later text.
This main function computes standardized 3D diversity estimates of order
q = 0, 1 and 2, the sample coverage estimates, and related statistics
for K (if knots = K in the specified argument)
evenly-spaced knots (sample sizes) between size 1 and the
endpoint, where the endpoint is described below. Each knot
represents a particular sample size for which 3D diversity estimates
will be calculated. By default, endpoint = double the
reference sample size for abundance data or double the total sampling
units for incidence data. For example, if endpoint = 10,
knot = 4 is specified, diversity estimates will be computed
for a sequence of samples with sizes (1, 4, 7, 10).
data
|
- For
datatype = “abundance”, data can be input as a
vector of species abundances (for a single assemblage),
matrix/data.frame (species by assemblages), or a list of species
abundance vectors.
- For
datatype = “incidence_raw”, data can be input as a
list of matrices/data.frames (species by sampling units); data can also
be input as a single matrix/data.frame by merging all sampling units
across assemblages based on species identity; in this case, the number
of sampling units (nT, see below) must be specified.
|
diversity
|
selection of diversity type: ‘TD’ = Taxonomic diversity,
‘PD’ = Phylogenetic diversity, and ‘FD’ =
Functional diversity.
|
q
|
a numerical vector specifying the diversity orders. Default is
c(0, 1, 2).
|
datatype
|
data type of input data: individual-based abundance data (datatype
= “abundance”), or species by sampling-units incidence/occurrence
matrix (datatype = “incidence_raw”) with all entries being
0 (non-detection) or 1 (detection).
|
size
|
an integer vector of sample sizes (number of individuals or sampling
units) for which diversity estimates will be computed. If
NULL, then diversity estimates will be computed for those
sample sizes determined by the specified/default endpoint
and knots.
|
endpoint
|
an integer specifying the sample size that is the endpoint
for rarefaction/extrapolation. If NULL, then endpoint
= double the reference sample size.
|
knots
|
an integer specifying the number of equally-spaced knots
(say K, default is 40) between size 1 and the endpoint;
each knot represents a particular sample size for which diversity
estimate will be calculated. If the endpoint is smaller
than the reference sample size, then iNEXT3D() computes
only the rarefaction estimates for approximately K evenly spaced
knots. If the endpoint is larger than the
reference sample size, then iNEXT3D() computes rarefaction
estimates for approximately K/2 evenly spaced knots between
sample size 1 and the reference sample size, and computes extrapolation
estimates for approximately K/2 evenly spaced knots between
the reference sample size and the endpoint.
|
nboot
|
a positive integer specifying the number of bootstrap replications when
assessing sampling uncertainty and constructing confidence intervals.
Enter 0 to skip the bootstrap procedures. Default is 50.
|
conf
|
a positive number < 1 specifying the level of confidence interval.
Default is 0.95.
|
nT
|
(required only when datatype = “incidence_raw” and input
data in a single matrix/data.frame) a vector of nonnegative integers
specifying the number of sampling units in each assemblage. If
assemblage names are not specified(i.e., names(nT) = NULL),
then assemblages are automatically named as “assemblage1”,
“assemblage2”,…, etc.
|
PDtree
|
(required argument for diversity = “PD”), a phylogenetic
tree in Newick format for all observed species in the pooled assemblage.
|
PDreftime
|
(argument only for diversity = “PD”), a vector of numerical
values specifying reference times for PD. Default is NULL
(i.e., the age of the root of PDtree).
|
PDtype
|
(argument only for diversity = “PD”), select PD type:
PDtype = “PD” (effective total branch length) or
PDtype = “meanPD” (effective number of equally divergent
lineages). Default is “meanPD”, where meanPD =
PD/tree depth.
|
FDdistM
|
(required argument for diversity = “FD”), a species
pairwise distance matrix for all species in the pooled assemblage.
|
FDtype
|
(argument only for diversity = “FD”), select FD type:
FDtype = “tau_values” for FD under specified threshold
values, or FDtype = “AUC” (area under the curve of
tau-profile) for an overall FD which integrates all threshold values
between zero and one. Default is “AUC”.
|
FDtau
|
(argument only for diversity = “FD” and FDtype =
“tau_values”), a numerical vector between 0 and 1 specifying tau
values (threshold levels). If NULL (default), then
threshold is set to be the mean distance between any two individuals
randomly selected from the pooled assemblage (i.e., quadratic entropy).
|
FDcut_number
|
(argument only for diversity = “FD” and FDtype =
“AUC”), a numeric number to cut [0, 1] interval into equal-spaced
sub-intervals to obtain the AUC value by integrating the tau-profile.
Equivalently, the number of tau values that will be considered to
compute the integrated AUC value. Default is FDcut_number =
50. A larger value can be set to obtain more accurate AUC value.
|
For each dimension of diversity (TD, PD,
FD), the main function iNEXT3D() returns the
iNEXT3D object, which can be further used to make plots
using the function ggiNEXT3D() to be described below. The
"iNEXT3D" object includes three lists:
$TDInfo ($PDInfo,or
$FDInfo) for summarizing data information.
$TDiNextEst ($PDiNextEst, or
$FDiNextEst) for showing diversity estimates along with
related statistics for a series of rarefied and extrapolated samples;
there are two data frames ($size_based and
$coverage_based) conditioning on standardized sample size
or sample coverage, respectively.
$TDAsyEst ($PDAsyEst, or
$FDAsyEst) for showing asymptotic diversity estimates along
with related statistics.
FUNCTION ggiNEXT3D(): GRAPHIC
DISPLAYS
The function ggiNEXT3D(), which extends
ggplot2 with default arguments, is described as
follows:
ggiNEXT3D(output, type = 1:3, facet.var = "Assemblage", color.var = "Order.q")
Here output is the iNEXT3D() object. Three
types of curves are allowed for 3D diversity:
Sample-size-based R/E curve (type = 1): This curve
plots diversity estimates with confidence intervals as a function of
sample size.
Sample completeness curve (type = 2): This curve
plots the sample coverage with respect to sample size.
Coverage-based R/E curve (type = 3): This curve
plots the diversity estimates with confidence intervals as a function of
sample coverage.
The argument facet.var = "Order.q",
facet.var = "Assemblage", facet.var = "Both",
or facet.var = "None" is used to create a separate plot for
each value of the specified variable.
The ggiNEXT3D() function is a wrapper with the package
ggplot2 to create a rarefaction/extrapolation sampling
curve in a single line of code. The figure object is of class
"ggplot", so it can be manipulated by using the
ggplot2 tools.
FUNCTION estimate3D(): POINT
ESTIMATION
estimate3D is used to compute 3D diversity (TD, PD, FD)
estimates with q = 0, 1, 2 under any specified levels of sample size
(when base = "size") and sample coverage values (when
base = "coverage") for abundance data
(datatype = "abundance") or incidence data
(datatype = "incidence_raw"). When
base = "size", level can be specified with a
particular vector of sample sizes (greater than 0); if
level = NULL, this function computes the diversity
estimates for the minimum sample size among all samples extrapolated to
the double reference sizes. When base = "coverage",
level can be specified with a particular vector of sample
coverage values (between 0 and 1); if level = NULL, this
function computes the diversity estimates for the minimum sample
coverage among all samples extrapolated to the double reference sizes.
All arguments in the function are the same as those for the main
function iNEXT3D.
estimate3D(data, diversity = "TD", q = c(0, 1, 2), datatype = "abundance",
base = "coverage", level = NULL, nboot = 50, conf = 0.95,
nT = NULL, PDtree, PDreftime = NULL, PDtype = "meanPD",
FDdistM, FDtype = "AUC", FDtau = NULL, FDcut_number = 50)
TAXONOMIC DIVERSITY (TD): point
estimation
Example 7a: TD for abundance data with two target coverage values
(93% and 97%)
The following commands return the TD estimates with two specified
levels of sample coverage (93% and 97%) based on the
Brazil_rainforest_abun_data.
data(Brazil_rainforest_abun_data)
output_est_TD_abun <- estimate3D(Brazil_rainforest_abun_data, diversity = 'TD', q = c(0,1,2),
datatype = "abundance", base = "coverage", level = c(0.93, 0.97))
output_est_TD_abun
Assemblage Order.q SC m Method qTD s.e. qTD.LCL qTD.UCL
1 Edge 0 0.93 1547.562 Rarefaction 302.879 13.282 276.846 328.912
2 Edge 0 0.97 3261.971 Extrapolation 383.307 22.721 338.775 427.839
3 Edge 1 0.93 1547.562 Rarefaction 152.374 4.930 142.711 162.037
4 Edge 1 0.97 3261.971 Extrapolation 166.837 5.771 155.527 178.147
5 Edge 2 0.93 1547.562 Rarefaction 81.437 4.082 73.437 89.438
6 Edge 2 0.97 3261.971 Extrapolation 83.726 4.322 75.254 92.198
7 Interior 0 0.93 1699.021 Rarefaction 331.917 14.789 302.932 360.903
8 Interior 0 0.97 3883.447 Extrapolation 433.807 23.527 387.694 479.919
9 Interior 1 0.93 1699.021 Rarefaction 159.330 5.533 148.486 170.174
10 Interior 1 0.97 3883.447 Extrapolation 175.739 6.180 163.627 187.852
11 Interior 2 0.93 1699.021 Rarefaction 71.611 4.372 63.041 80.180
12 Interior 2 0.97 3883.447 Extrapolation 73.326 4.572 64.364 82.288
Example 7b: TD for incidence data with two target coverage values
(97.5% and 99%)
The following commands return the TD estimates with two specified
levels of sample coverage (97.5% and 99%) for the
Fish_incidence_data.
data(Fish_incidence_data)
output_est_TD_inci <- estimate3D(Fish_incidence_data, diversity = 'TD', q = c(0, 1, 2),
datatype = "incidence_raw", base = "coverage",
level = c(0.975, 0.99))
output_est_TD_inci
Assemblage Order.q SC mT Method qTD s.e. qTD.LCL qTD.UCL
1 2013-2015 0 0.975 29.169 Rarefaction 47.703 4.031 39.802 55.605
2 2013-2015 0 0.990 58.667 Extrapolation 54.914 8.702 37.859 71.970
3 2013-2015 1 0.975 29.169 Rarefaction 29.773 0.960 27.892 31.654
4 2013-2015 1 0.990 58.667 Extrapolation 30.751 1.047 28.699 32.802
5 2013-2015 2 0.975 29.169 Rarefaction 23.861 0.607 22.671 25.052
6 2013-2015 2 0.990 58.667 Extrapolation 24.126 0.624 22.903 25.349
7 2016-2018 0 0.975 34.825 Rarefaction 52.574 6.251 40.323 64.826
8 2016-2018 0 0.990 76.971 Extrapolation 62.688 10.611 41.890 83.486
9 2016-2018 1 0.975 34.825 Rarefaction 31.479 1.338 28.855 34.102
10 2016-2018 1 0.990 76.971 Extrapolation 32.721 1.344 30.086 35.356
11 2016-2018 2 0.975 34.825 Rarefaction 24.872 0.908 23.092 26.652
12 2016-2018 2 0.990 76.971 Extrapolation 25.163 0.920 23.359 26.967
PHYLOGENETIC DIVERSITY (PD): point
estimation
Example 8a: PD for abundance data with two target sample sizes (1500
and 3500)
The following commands return the PD estimates with two specified
levels of sample sizes (1500 and 3500) for the
Brazil_rainforest_abun_data.
data(Brazil_rainforest_abun_data)
data(Brazil_rainforest_phylo_tree)
data <- Brazil_rainforest_abun_data
tree <- Brazil_rainforest_phylo_tree
output_est_PD_abun <- estimate3D(data, diversity = 'PD', datatype = "abundance",
base = "size", level = c(1500, 3500), PDtree = tree)
output_est_PD_abun
Assemblage Order.q m Method SC qPD s.e. qPD.LCL qPD.UCL Reftime Type
1 Edge 0 1500 Rarefaction 0.928 58.370 1.152 56.112 60.628 400 meanPD
2 Edge 0 3500 Extrapolation 0.973 71.893 2.206 67.569 76.217 400 meanPD
3 Edge 1 1500 Rarefaction 0.928 5.224 0.124 4.981 5.467 400 meanPD
4 Edge 1 3500 Extrapolation 0.973 5.320 0.127 5.072 5.568 400 meanPD
5 Edge 2 1500 Rarefaction 0.928 1.797 0.029 1.740 1.853 400 meanPD
6 Edge 2 3500 Extrapolation 0.973 1.797 0.029 1.740 1.854 400 meanPD
7 Interior 0 1500 Rarefaction 0.922 63.555 1.134 61.332 65.779 400 meanPD
8 Interior 0 3500 Extrapolation 0.965 78.004 2.162 73.765 82.242 400 meanPD
9 Interior 1 1500 Rarefaction 0.922 5.675 0.123 5.434 5.916 400 meanPD
10 Interior 1 3500 Extrapolation 0.965 5.784 0.124 5.541 6.028 400 meanPD
11 Interior 2 1500 Rarefaction 0.922 1.913 0.031 1.852 1.975 400 meanPD
12 Interior 2 3500 Extrapolation 0.965 1.914 0.031 1.853 1.975 400 meanPD
Example 8b: PD for incidence data with two target coverage values
(97.5% and 99%)
The following commands return the PD estimates with two specified
levels of sample coverage (97.5% and 99%) for the
Fish_incidence_data.
data(Fish_incidence_data)
data(Fish_phylo_tree)
data <- Fish_incidence_data
tree <- Fish_phylo_tree
output_est_PD_inci <- estimate3D(data, diversity = 'PD', datatype = "incidence_raw",
base = "coverage", level = c(0.975, 0.99), PDtree = tree)
output_est_PD_inci
Assemblage Order.q SC mT Method qPD s.e. qPD.LCL qPD.UCL Reftime Type
1 2013-2015 0 0.975 29.169 Rarefaction 9.672 0.406 8.878 10.467 0.9770115 meanPD
2 2013-2015 0 0.990 58.667 Extrapolation 10.018 0.625 8.794 11.243 0.9770115 meanPD
3 2013-2015 1 0.975 29.169 Rarefaction 7.612 0.143 7.332 7.893 0.9770115 meanPD
4 2013-2015 1 0.990 58.667 Extrapolation 7.680 0.147 7.392 7.967 0.9770115 meanPD
5 2013-2015 2 0.975 29.169 Rarefaction 7.003 0.149 6.711 7.294 0.9770115 meanPD
6 2013-2015 2 0.990 58.667 Extrapolation 7.030 0.150 6.735 7.325 0.9770115 meanPD
7 2016-2018 0 0.975 34.825 Rarefaction 9.646 0.502 8.663 10.630 0.9770115 meanPD
8 2016-2018 0 0.990 76.971 Extrapolation 9.831 0.748 8.366 11.296 0.9770115 meanPD
9 2016-2018 1 0.975 34.825 Rarefaction 7.779 0.134 7.516 8.041 0.9770115 meanPD
10 2016-2018 1 0.990 76.971 Extrapolation 7.835 0.137 7.566 8.103 0.9770115 meanPD
11 2016-2018 2 0.975 34.825 Rarefaction 7.201 0.134 6.937 7.464 0.9770115 meanPD
12 2016-2018 2 0.990 76.971 Extrapolation 7.224 0.135 6.960 7.489 0.9770115 meanPD
FUNCTIONAL DIVERSITY (FD): point
estimation
Example 9a: FD for abundance data with two target coverage values
(93% and 97%)
The following commands return the FD estimates with two specified
levels of sample coverage (93% and 97%) for the
Brazil_rainforest_abun_data.
data(Brazil_rainforest_abun_data)
data(Brazil_rainforest_distance_matrix)
data <- Brazil_rainforest_abun_data
distM <- Brazil_rainforest_distance_matrix
output_est_FD_abun <- estimate3D(data, diversity = 'FD', datatype = "abundance",
base = "coverage", level = c(0.93, 0.97), nboot = 10,
FDdistM = distM, FDtype = 'AUC')
output_est_FD_abun
Assemblage Order.q SC m Method qFD s.e. qFD.LCL qFD.UCL
1 Edge 0 0.93 1547.562 Rarefaction 17.590 1.761 14.139 21.041
2 Edge 0 0.97 3261.971 Extrapolation 18.578 2.555 13.569 23.586
3 Edge 1 0.93 1547.562 Rarefaction 11.732 0.279 11.185 12.280
4 Edge 1 0.97 3261.971 Extrapolation 11.932 0.284 11.374 12.489
5 Edge 2 0.93 1547.562 Rarefaction 9.120 0.253 8.624 9.617
6 Edge 2 0.97 3261.971 Extrapolation 9.190 0.261 8.678 9.701
7 Interior 0 0.93 1699.021 Rarefaction 16.890 2.723 11.554 22.227
8 Interior 0 0.97 3883.447 Extrapolation 17.839 4.334 9.345 26.333
9 Interior 1 0.93 1699.021 Rarefaction 9.668 0.296 9.087 10.249
10 Interior 1 0.97 3883.447 Extrapolation 9.841 0.308 9.237 10.445
11 Interior 2 0.93 1699.021 Rarefaction 6.994 0.192 6.617 7.371
12 Interior 2 0.97 3883.447 Extrapolation 7.035 0.194 6.654 7.415
Example 9b: FD for incidence data with two target number of sampling
units (30 and 70)
The following commands return the FD estimates with two specified
levels of sample sizes (30 and 70) for the
Fish_incidence_data.
data(Fish_incidence_data)
data(Fish_distance_matrix)
data <- Fish_incidence_data
distM <- Fish_distance_matrix
output_est_FD_inci <- estimate3D(data, diversity = 'FD', datatype = "incidence_raw",
base = "size", level = c(30, 70), nboot = 10,
FDdistM = distM, FDtype = 'AUC')
output_est_FD_inci
Assemblage Order.q mT Method SC qFD s.e. qFD.LCL qFD.UCL
1 2013-2015 0 30 Rarefaction 0.976 17.748 0.615 16.542 18.954
2 2013-2015 0 70 Extrapolation 0.993 18.558 0.761 17.067 20.049
3 2013-2015 1 30 Rarefaction 0.976 15.929 0.490 14.970 16.889
4 2013-2015 1 70 Extrapolation 0.993 16.006 0.493 15.040 16.973
5 2013-2015 2 30 Rarefaction 0.976 15.459 0.449 14.580 16.338
6 2013-2015 2 70 Extrapolation 0.993 15.477 0.450 14.595 16.359
7 2016-2018 0 30 Rarefaction 0.972 17.503 0.863 15.811 19.196
8 2016-2018 0 70 Extrapolation 0.988 18.705 1.189 16.374 21.036
9 2016-2018 1 30 Rarefaction 0.972 15.729 0.346 15.051 16.407
10 2016-2018 1 70 Extrapolation 0.988 15.817 0.359 15.114 16.520
11 2016-2018 2 30 Rarefaction 0.972 15.268 0.287 14.705 15.832
12 2016-2018 2 70 Extrapolation 0.988 15.290 0.288 14.725 15.854
FUNCTION ObsAsy3D: ASYMPTOTIC AND OBSERVED
DIVERSITY PROFILES
ObsAsy3D(data, diversity = "TD", q = seq(0, 2, 0.2), datatype = "abundance",
nboot = 50, conf = 0.95, nT = NULL,
method = c("Asymptotic", "Observed"),
PDtree, PDreftime = NULL, PDtype = "meanPD",
FDdistM, FDtype = "AUC", FDtau = NULL, FDcut_number = 50
)
All arguments in the above function are the same as those for the
main function iNEXT3D (except that the default of
q here is seq(0, 2, 0.2)). The function
ObsAsy3D() computes observed and asymptotic diversity of
order q between 0 and 2 (in increments of 0.2) for 3D diversity; these
3D values with different order q can be used to depict a q-profile in
the ggObsAsy3D function.
It also computes observed and asymptotic PD for various reference
times by specifying the argument PDreftime; these PD values
with different reference times can be used to depict a time-profile in
the ggObsAsy3D function.
It also computes observed and asymptotic FD for various threshold tau
levels by specifying the argument FDtau; these FD values
with different threshold levels can be used to depict a tau-profile in
the ggObsAsy3D function.
For each dimension, by default, both the observed and asymptotic
diversity estimates will be computed.
FUNCTION ggObsAsy3D(): GRAPHIC DISPLAYS OF
DIVERSITY PROFILES
ggObsAsy3D(output, profile = "q")
ggObsAsy3D is a ggplot2 extension for an
ObsAsy3D object to plot 3D q-profile (which depicts the
observed diversity and asymptotic diversity estimate with respect to
order q) for q between 0 and 2 (in increments of 0.2).
It also plots time-profile (which depicts the observed and asymptotic
estimate of PD or mean PD with respect to reference times when
diversity = "PD" specified in the ObsAsy3D function), and
tau-profile (which depicts the observed and asymptotic estimate of FD
with respect to threshold level tau when diversity = "FD"
and FDtype = "tau_values" specified in the
ObsAsy3D function) based on the output from the function
ObsAsy3D.
In the plot of profiles, only confidence intervals of the asymptotic
diversity will be shown when both the observed and asymptotic diversity
estimates are computed.
TAXONOMIC DIVERSITY (TD):
q-profiles
Example 10a: TD q-profiles for abundance data
The following commands returns the observed and asymptotic taxonomic
diversity (‘TD’) for the Brazil_rainforest_abun_data, along
with its confidence interval for diversity order q between 0 to 2. Here
only the first ten rows of the output are shown.
data(Brazil_rainforest_abun_data)
output_ObsAsy_TD_abun <- ObsAsy3D(Brazil_rainforest_abun_data, diversity = 'TD',
datatype = "abundance")
output_ObsAsy_TD_abun
Assemblage Order.q qTD s.e. qTD.LCL qTD.UCL Method
1 Edge 0.0 444.971 27.739 390.605 499.338 Asymptotic
2 Edge 0.2 375.270 18.652 338.712 411.829 Asymptotic
3 Edge 0.4 312.452 11.817 289.291 335.613 Asymptotic
4 Edge 0.6 258.379 7.414 243.848 272.911 Asymptotic
5 Edge 0.8 213.730 5.199 203.540 223.920 Asymptotic
6 Edge 1.0 178.000 4.420 169.337 186.662 Asymptotic
7 Edge 1.2 149.914 4.227 141.630 158.199 Asymptotic
8 Edge 1.4 127.945 4.199 119.715 136.174 Asymptotic
9 Edge 1.6 110.672 4.224 102.394 118.951 Asymptotic
10 Edge 1.8 96.948 4.277 88.565 105.331 Asymptotic
The following commands plot the corresponding q-profiles, along with
its confidence interval for q between 0 to 2.
# q-profile curves
ggObsAsy3D(output_ObsAsy_TD_abun)

Example 10b: TD q-profiles for incidence data
The following commands return the observed and asymptotic taxonomic
diversity (‘TD’) estimates for the Fish_incidence_data,
along with its confidence interval for diversity order q between 0 to 2.
Here only the first ten rows of the output are shown.
data(Fish_incidence_data)
output_ObsAsy_TD_inci <- ObsAsy3D(Fish_incidence_data, diversity = 'TD',
datatype = "incidence_raw")
output_ObsAsy_TD_inci
Assemblage Order.q qTD s.e. qTD.LCL qTD.UCL Method
1 2013-2015 0.0 59.803 9.745 40.703 78.903 Asymptotic
2 2013-2015 0.2 50.828 5.309 40.422 61.234 Asymptotic
3 2013-2015 0.4 43.790 2.858 38.189 49.391 Asymptotic
4 2013-2015 0.6 38.458 1.728 35.072 41.844 Asymptotic
5 2013-2015 0.8 34.490 1.286 31.969 37.011 Asymptotic
6 2013-2015 1.0 31.542 1.108 29.369 33.714 Asymptotic
7 2013-2015 1.2 29.328 1.011 27.347 31.308 Asymptotic
8 2013-2015 1.4 27.635 0.940 25.793 29.476 Asymptotic
9 2013-2015 1.6 26.312 0.883 24.582 28.042 Asymptotic
10 2013-2015 1.8 25.255 0.836 23.616 26.894 Asymptotic
The following commands plot the corresponding q-profiles, along with
its confidence interval for q between 0 to 2.
# q-profile curves
ggObsAsy3D(output_ObsAsy_TD_inci)

PHYLOGENETIC DIVERSITY (PD): time-profiles
and q-profiles
Example 11a: PD time-profiles for abundance data
The following commands return the observed and asymptotic
phylogenetic diversity (‘PD’) estimates for the
Brazil_rainforest_abun_data, along with its confidence
interval for diversity order q = 0, 1, 2 under reference times from 0.01
to 400 (tree height). Here only the first ten rows of the output are
shown.
data(Brazil_rainforest_abun_data)
data(Brazil_rainforest_phylo_tree)
data <- Brazil_rainforest_abun_data
tree <- Brazil_rainforest_phylo_tree
output_ObsAsy_PD_abun <- ObsAsy3D(data, diversity = 'PD', q = c(0, 1, 2),
PDreftime = seq(0.01, 400, length.out = 20),
datatype = "abundance", nboot = 20, PDtree = tree)
output_ObsAsy_PD_abun
Assemblage Order.q qPD s.e. qPD.LCL qPD.UCL Method Reftime Type
1 Edge 0 444.971 12.112 421.231 468.711 Asymptotic 0.100 meanPD
2 Edge 1 178.000 5.854 166.525 189.474 Asymptotic 0.100 meanPD
3 Edge 2 85.905 4.506 77.073 94.737 Asymptotic 0.100 meanPD
4 Interior 0 513.518 29.570 455.561 571.475 Asymptotic 0.100 meanPD
5 Interior 1 186.983 6.211 174.810 199.156 Asymptotic 0.100 meanPD
6 Interior 2 74.718 4.911 65.092 84.343 Asymptotic 0.100 meanPD
7 Edge 0 371.100 11.920 347.737 394.463 Asymptotic 10.354 meanPD
8 Edge 1 141.418 4.226 133.135 149.701 Asymptotic 10.354 meanPD
9 Edge 2 72.848 3.639 65.716 79.980 Asymptotic 10.354 meanPD
10 Interior 0 413.568 25.093 364.386 462.750 Asymptotic 10.354 meanPD
The argument profile = "time" in the
ggObsAsy3D function creates a separate plot for each
diversity order q = 0, 1, and 2 with x-axis being “Reference time”.
Different assemblages will be represented by different color lines.
# time-profile curves
ggObsAsy3D(output_ObsAsy_PD_abun, profile = "time")

Example 11b: PD q-profiles for incidence data
The following commands return the observed and asymptotic taxonomic
diversity (‘PD’) estimates for the Fish_incidence_data,
along with its confidence interval for diversity order q between 0 to 2.
Here only the first ten rows of the output are shown.
data(Fish_incidence_data)
data(Fish_phylo_tree)
data <- Fish_incidence_data
tree <- Fish_phylo_tree
output_ObsAsy_PD_inci <- ObsAsy3D(data, diversity = 'PD', q = seq(0, 2, 0.2),
datatype = "incidence_raw", nboot = 20, PDtree = tree,
PDreftime = NULL)
output_ObsAsy_PD_inci
Assemblage Order.q qPD s.e. qPD.LCL qPD.UCL Method Reftime Type
1 2013-2015 0.0 10.039 0.747 8.576 11.503 Asymptotic 0.977 meanPD
2 2013-2015 0.2 9.462 0.536 8.411 10.513 Asymptotic 0.977 meanPD
3 2013-2015 0.4 8.802 0.285 8.242 9.361 Asymptotic 0.977 meanPD
4 2013-2015 0.6 8.329 0.187 7.962 8.696 Asymptotic 0.977 meanPD
5 2013-2015 0.8 7.985 0.155 7.681 8.289 Asymptotic 0.977 meanPD
6 2013-2015 1.0 7.729 0.145 7.446 8.012 Asymptotic 0.977 meanPD
7 2013-2015 1.2 7.533 0.141 7.257 7.808 Asymptotic 0.977 meanPD
8 2013-2015 1.4 7.378 0.140 7.104 7.652 Asymptotic 0.977 meanPD
9 2013-2015 1.6 7.252 0.141 6.976 7.528 Asymptotic 0.977 meanPD
10 2013-2015 1.8 7.147 0.143 6.868 7.426 Asymptotic 0.977 meanPD
The following commands plot the corresponding q-profiles, along with
its confidence interval for q between 0 to 2, for the default reference
time = 0.977 (the tree depth).
# q-profile curves
ggObsAsy3D(output_ObsAsy_PD_inci, profile = "q")

FUNCTIONAL DIVERSITY (FD): tau-profiles
and q-profiles
Example 12a: FD tau-profiles for abundance data
The following commands returns observed and asymptotic functional
diversity (‘FD’) for Brazil_rainforest_abun_data, along
with its confidence interval at diversity order q = 0, 1, 2 under tau
values from 0 to 1. Here only the first ten rows of the output are
shown.
data(Brazil_rainforest_abun_data)
data(Brazil_rainforest_distance_matrix)
data <- Brazil_rainforest_abun_data
distM <- Brazil_rainforest_distance_matrix
output_ObsAsy_FD_abun_tau <- ObsAsy3D(data, diversity = 'FD', q = c(0, 1, 2),
datatype = "abundance", nboot = 10, FDdistM = distM,
FDtype = 'tau_values', FDtau = seq(0, 1, 0.05))
output_ObsAsy_FD_abun_tau
Assemblage Order.q qFD s.e. qFD.LCL qFD.UCL Method Tau
1 Edge 0 444.971 29.702 386.757 503.186 Asymptotic 0.00
2 Edge 1 178.000 4.965 168.269 187.730 Asymptotic 0.00
3 Edge 2 85.905 4.374 77.332 94.479 Asymptotic 0.00
4 Edge 0 79.904 19.021 42.624 117.184 Asymptotic 0.05
5 Edge 1 45.187 1.986 41.295 49.079 Asymptotic 0.05
6 Edge 2 32.092 1.667 28.824 35.360 Asymptotic 0.05
7 Edge 0 73.276 18.430 37.154 109.397 Asymptotic 0.10
8 Edge 1 42.200 1.892 38.491 45.908 Asymptotic 0.10
9 Edge 2 30.182 1.579 27.087 33.277 Asymptotic 0.10
10 Edge 0 35.509 20.616 0.000 75.916 Asymptotic 0.15
The following commands plot the corresponding tau-profiles, along
with its confidence interval for diversity order q = 0, 1, 2.
# tau-profile curves
ggObsAsy3D(output_ObsAsy_FD_abun_tau, profile = "tau")

Example 12b: FD q-profiles for abundance data
The following commands returns the observed and asymptotic taxonomic
diversity (‘FD’) for the Brazil_rainforest_abun_data, along
with its confidence interval for diversity order q between 0 to 2 with
FDtype = 'AUC'. Here only the first ten rows of the output
are shown.
data(Brazil_rainforest_abun_data)
data(Brazil_rainforest_distance_matrix)
data <- Brazil_rainforest_abun_data
distM <- Brazil_rainforest_distance_matrix
output_ObsAsy_FD_abun <- ObsAsy3D(data, diversity = 'FD', q = seq(0, 2, 0.5),
datatype = "abundance", nboot = 10,
FDdistM = distM, FDtype = 'AUC')
output_ObsAsy_FD_abun
Assemblage Order.q qFD s.e. qFD.LCL qFD.UCL Method
1 Edge 0.0 19.008 4.310 10.561 27.455 Asymptotic
2 Edge 0.5 14.714 0.970 12.813 16.614 Asymptotic
3 Edge 1.0 12.058 0.401 11.273 12.844 Asymptotic
4 Edge 1.5 10.369 0.302 9.777 10.961 Asymptotic
5 Edge 2.0 9.254 0.301 8.664 9.844 Asymptotic
6 Interior 0.0 18.215 8.275 1.996 34.435 Asymptotic
7 Interior 0.5 13.084 1.228 10.678 15.490 Asymptotic
8 Interior 1.0 9.935 0.232 9.480 10.390 Asymptotic
9 Interior 1.5 8.115 0.172 7.778 8.452 Asymptotic
10 Interior 2.0 7.067 0.146 6.781 7.352 Asymptotic
The following commands plot the corresponding q-profiles, along with
its confidence interval for q between 0 to 2.
# q-profile curves
ggObsAsy3D(output_ObsAsy_FD_abun, profile = "q")

Example 12c: FD q-profiles for incidence data
The following commands returns observed and asymptotic functional
diversity (‘FD’) for Fish_incidence_data, along with its
confidence interval at diversity order q from 0 to 2. Here only the
first ten rows of the output are shown.
data(Fish_incidence_data)
data(Fish_distance_matrix)
data <- Fish_incidence_data
distM <- Fish_distance_matrix
output_ObsAsy_FD_inci <- ObsAsy3D(data, diversity = 'FD', datatype = "incidence_raw",
nboot = 20, FDdistM = distM, FDtype = 'AUC')
output_ObsAsy_FD_inci
Assemblage Order.q qFD s.e. qFD.LCL qFD.UCL Method
1 2013-2015 0.0 18.916 2.228 14.548 23.284 Asymptotic
2 2013-2015 0.2 17.828 0.968 15.930 19.725 Asymptotic
3 2013-2015 0.4 17.117 0.522 16.094 18.139 Asymptotic
4 2013-2015 0.6 16.626 0.399 15.844 17.408 Asymptotic
5 2013-2015 0.8 16.285 0.383 15.535 17.035 Asymptotic
6 2013-2015 1.0 16.044 0.381 15.297 16.791 Asymptotic
7 2013-2015 1.2 15.869 0.380 15.125 16.613 Asymptotic
8 2013-2015 1.4 15.738 0.377 14.998 16.477 Asymptotic
9 2013-2015 1.6 15.636 0.375 14.902 16.371 Asymptotic
10 2013-2015 1.8 15.556 0.373 14.825 16.287 Asymptotic
The following commands plot the corresponding q-profiles, along with
its confidence interval for q between 0 to 2.
# q-profile curves
ggObsAsy3D(output_ObsAsy_FD_inci, profile = "q")

License
The iNEXT.3D package is licensed under the GPLv3. To help refine
iNEXT.3D, your comments or feedback would be welcome
(please send them to Anne Chao or report an issue on the iNEXT.3D github
iNEXT.3D_github.
References
Chao, A., Henderson, P. A., Chiu, C.-H., Moyes, F., Hu, K.-H.,
Dornelas, M. and Magurran, A. E. (2021). Measuring temporal change in
alpha diversity: a framework integrating taxonomic, phylogenetic and
functional diversity and the iNEXT.3D standardization. Methods in
Ecology and Evolution, 12, 1926-1940.
Hsieh, T. C., Ma, K-H, and Chao, A. (2016). iNEXT: An R package
for rarefaction and extrapolation of species diversity (Hill numbers).
Methods in Ecology and Evolution, 7, 1451-1456.