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 10.883 281.548 324.210
2 Edge 0 0.97 3261.971 Extrapolation 383.307 16.165 351.624 414.990
3 Edge 1 0.93 1547.562 Rarefaction 152.374 5.220 142.144 162.604
4 Edge 1 0.97 3261.971 Extrapolation 166.837 5.695 155.674 178.000
5 Edge 2 0.93 1547.562 Rarefaction 81.437 4.999 71.639 91.236
6 Edge 2 0.97 3261.971 Extrapolation 83.726 5.248 73.440 94.012
7 Interior 0 0.93 1699.021 Rarefaction 331.917 14.421 303.652 360.182
8 Interior 0 0.97 3883.447 Extrapolation 433.807 18.876 396.811 470.802
9 Interior 1 0.93 1699.021 Rarefaction 159.330 5.844 147.877 170.784
10 Interior 1 0.97 3883.447 Extrapolation 175.739 6.082 163.819 187.659
11 Interior 2 0.93 1699.021 Rarefaction 71.611 4.189 63.400 79.821
12 Interior 2 0.97 3883.447 Extrapolation 73.326 4.350 64.800 81.852
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.215 39.443 55.964
2 2013-2015 0 0.990 58.667 Extrapolation 54.914 6.804 41.578 68.250
3 2013-2015 1 0.975 29.169 Rarefaction 29.773 1.154 27.511 32.034
4 2013-2015 1 0.990 58.667 Extrapolation 30.751 1.162 28.473 33.028
5 2013-2015 2 0.975 29.169 Rarefaction 23.861 0.671 22.546 25.177
6 2013-2015 2 0.990 58.667 Extrapolation 24.126 0.674 22.805 25.447
7 2016-2018 0 0.975 34.825 Rarefaction 52.574 8.095 36.707 68.441
8 2016-2018 0 0.990 76.971 Extrapolation 62.688 11.975 39.217 86.159
9 2016-2018 1 0.975 34.825 Rarefaction 31.479 1.369 28.796 34.161
10 2016-2018 1 0.990 76.971 Extrapolation 32.721 1.449 29.881 35.562
11 2016-2018 2 0.975 34.825 Rarefaction 24.872 0.892 23.123 26.620
12 2016-2018 2 0.990 76.971 Extrapolation 25.163 0.908 23.382 26.944
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.104 56.206 60.535 400 meanPD
2 Edge 0 3500 Extrapolation 0.973 71.893 2.360 67.267 76.519 400 meanPD
3 Edge 1 1500 Rarefaction 0.928 5.224 0.088 5.052 5.395 400 meanPD
4 Edge 1 3500 Extrapolation 0.973 5.320 0.089 5.145 5.496 400 meanPD
5 Edge 2 1500 Rarefaction 0.928 1.797 0.022 1.754 1.839 400 meanPD
6 Edge 2 3500 Extrapolation 0.973 1.797 0.022 1.754 1.840 400 meanPD
7 Interior 0 1500 Rarefaction 0.922 63.555 1.390 60.830 66.280 400 meanPD
8 Interior 0 3500 Extrapolation 0.965 78.004 2.654 72.802 83.205 400 meanPD
9 Interior 1 1500 Rarefaction 0.922 5.675 0.120 5.439 5.911 400 meanPD
10 Interior 1 3500 Extrapolation 0.965 5.784 0.123 5.543 6.026 400 meanPD
11 Interior 2 1500 Rarefaction 0.922 1.913 0.031 1.854 1.973 400 meanPD
12 Interior 2 3500 Extrapolation 0.965 1.914 0.031 1.854 1.974 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.394 8.900 10.445 0.9770115 meanPD
2 2013-2015 0 0.990 58.667 Extrapolation 10.018 0.500 9.037 10.999 0.9770115 meanPD
3 2013-2015 1 0.975 29.169 Rarefaction 7.612 0.162 7.294 7.930 0.9770115 meanPD
4 2013-2015 1 0.990 58.667 Extrapolation 7.680 0.165 7.356 8.004 0.9770115 meanPD
5 2013-2015 2 0.975 29.169 Rarefaction 7.003 0.162 6.684 7.321 0.9770115 meanPD
6 2013-2015 2 0.990 58.667 Extrapolation 7.030 0.163 6.710 7.350 0.9770115 meanPD
7 2016-2018 0 0.975 34.825 Rarefaction 9.646 0.480 8.706 10.587 0.9770115 meanPD
8 2016-2018 0 0.990 76.971 Extrapolation 9.831 0.744 8.373 11.289 0.9770115 meanPD
9 2016-2018 1 0.975 34.825 Rarefaction 7.779 0.110 7.564 7.993 0.9770115 meanPD
10 2016-2018 1 0.990 76.971 Extrapolation 7.835 0.114 7.612 8.057 0.9770115 meanPD
11 2016-2018 2 0.975 34.825 Rarefaction 7.201 0.105 6.995 7.407 0.9770115 meanPD
12 2016-2018 2 0.990 76.971 Extrapolation 7.224 0.105 7.018 7.431 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 2.244 13.193 21.987
2 Edge 0 0.97 3261.971 Extrapolation 18.578 3.044 12.611 24.544
3 Edge 1 0.93 1547.562 Rarefaction 11.732 0.403 10.942 12.523
4 Edge 1 0.97 3261.971 Extrapolation 11.932 0.425 11.098 12.765
5 Edge 2 0.93 1547.562 Rarefaction 9.120 0.310 8.513 9.728
6 Edge 2 0.97 3261.971 Extrapolation 9.190 0.314 8.574 9.805
7 Interior 0 0.93 1699.021 Rarefaction 16.890 2.642 11.712 22.068
8 Interior 0 0.97 3883.447 Extrapolation 17.839 5.378 7.299 28.379
9 Interior 1 0.93 1699.021 Rarefaction 9.668 0.300 9.080 10.256
10 Interior 1 0.97 3883.447 Extrapolation 9.841 0.342 9.170 10.512
11 Interior 2 0.93 1699.021 Rarefaction 6.994 0.185 6.632 7.357
12 Interior 2 0.97 3883.447 Extrapolation 7.035 0.188 6.666 7.403
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.447 16.873 18.623
2 2013-2015 0 70 Extrapolation 0.993 18.558 0.744 17.100 20.016
3 2013-2015 1 30 Rarefaction 0.976 15.929 0.351 15.241 16.618
4 2013-2015 1 70 Extrapolation 0.993 16.006 0.347 15.326 16.687
5 2013-2015 2 30 Rarefaction 0.976 15.459 0.352 14.770 16.148
6 2013-2015 2 70 Extrapolation 0.993 15.477 0.352 14.787 16.167
7 2016-2018 0 30 Rarefaction 0.972 17.503 0.953 15.636 19.370
8 2016-2018 0 70 Extrapolation 0.988 18.705 1.509 15.747 21.663
9 2016-2018 1 30 Rarefaction 0.972 15.729 0.447 14.852 16.606
10 2016-2018 1 70 Extrapolation 0.988 15.817 0.466 14.903 16.731
11 2016-2018 2 30 Rarefaction 0.972 15.268 0.382 14.521 16.016
12 2016-2018 2 70 Extrapolation 0.988 15.290 0.382 14.540 16.039
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 25.582 394.831 495.112 Asymptotic
2 Edge 0.2 375.270 18.433 339.142 411.399 Asymptotic
3 Edge 0.4 312.452 12.960 287.050 337.854 Asymptotic
4 Edge 0.6 258.379 9.204 240.339 276.420 Asymptotic
5 Edge 0.8 213.730 6.935 200.138 227.322 Asymptotic
6 Edge 1.0 178.000 5.738 166.754 189.245 Asymptotic
7 Edge 1.2 149.914 5.177 139.768 160.061 Asymptotic
8 Edge 1.4 127.945 4.935 118.271 137.618 Asymptotic
9 Edge 1.6 110.672 4.840 101.185 120.159 Asymptotic
10 Edge 1.8 96.948 4.810 87.521 106.375 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 14.308 31.759 87.847 Asymptotic
2 2013-2015 0.2 50.828 7.424 36.277 65.379 Asymptotic
3 2013-2015 0.4 43.790 3.610 36.715 50.865 Asymptotic
4 2013-2015 0.6 38.458 1.870 34.792 42.124 Asymptotic
5 2013-2015 0.8 34.490 1.251 32.037 36.942 Asymptotic
6 2013-2015 1.0 31.542 1.064 29.456 33.628 Asymptotic
7 2013-2015 1.2 29.328 0.986 27.395 31.260 Asymptotic
8 2013-2015 1.4 27.635 0.931 25.810 29.460 Asymptotic
9 2013-2015 1.6 26.312 0.885 24.578 28.046 Asymptotic
10 2013-2015 1.8 25.255 0.844 23.601 26.909 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 28.735 388.652 501.291 Asymptotic 0.100 meanPD
2 Edge 1 178.000 6.791 164.689 191.310 Asymptotic 0.100 meanPD
3 Edge 2 85.905 5.727 74.680 97.131 Asymptotic 0.100 meanPD
4 Interior 0 513.518 18.339 477.575 549.461 Asymptotic 0.100 meanPD
5 Interior 1 186.983 5.404 176.391 197.575 Asymptotic 0.100 meanPD
6 Interior 2 74.718 3.705 67.456 81.979 Asymptotic 0.100 meanPD
7 Edge 0 371.100 20.775 330.381 411.819 Asymptotic 10.354 meanPD
8 Edge 1 141.418 5.300 131.031 151.806 Asymptotic 10.354 meanPD
9 Edge 2 72.848 4.177 64.661 81.036 Asymptotic 10.354 meanPD
10 Interior 0 413.568 16.522 381.185 445.950 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.716 8.637 11.442 Asymptotic 0.977 meanPD
2 2013-2015 0.2 9.462 0.480 8.522 10.402 Asymptotic 0.977 meanPD
3 2013-2015 0.4 8.802 0.291 8.231 9.373 Asymptotic 0.977 meanPD
4 2013-2015 0.6 8.329 0.197 7.942 8.715 Asymptotic 0.977 meanPD
5 2013-2015 0.8 7.985 0.155 7.682 8.288 Asymptotic 0.977 meanPD
6 2013-2015 1.0 7.729 0.138 7.458 7.999 Asymptotic 0.977 meanPD
7 2013-2015 1.2 7.533 0.133 7.271 7.794 Asymptotic 0.977 meanPD
8 2013-2015 1.4 7.378 0.135 7.114 7.642 Asymptotic 0.977 meanPD
9 2013-2015 1.6 7.252 0.139 6.980 7.523 Asymptotic 0.977 meanPD
10 2013-2015 1.8 7.147 0.144 6.865 7.429 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 35.625 375.147 514.795 Asymptotic 0.00
2 Edge 1 178.000 4.191 169.786 186.214 Asymptotic 0.00
3 Edge 2 85.905 4.737 76.621 95.190 Asymptotic 0.00
4 Edge 0 79.904 20.414 39.892 119.915 Asymptotic 0.05
5 Edge 1 45.187 1.297 42.646 47.728 Asymptotic 0.05
6 Edge 2 32.092 1.237 29.668 34.516 Asymptotic 0.05
7 Edge 0 73.276 20.338 33.414 113.137 Asymptotic 0.10
8 Edge 1 42.200 1.270 39.710 44.689 Asymptotic 0.10
9 Edge 2 30.182 1.164 27.901 32.463 Asymptotic 0.10
10 Edge 0 35.509 25.160 0.000 84.822 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 7.387 4.531 33.486 Asymptotic
2 Edge 0.5 14.714 1.296 12.174 17.253 Asymptotic
3 Edge 1.0 12.058 0.334 11.403 12.713 Asymptotic
4 Edge 1.5 10.369 0.211 9.955 10.783 Asymptotic
5 Edge 2.0 9.254 0.202 8.859 9.649 Asymptotic
6 Interior 0.0 18.215 12.119 0.000 41.967 Asymptotic
7 Interior 0.5 13.084 2.124 8.922 17.246 Asymptotic
8 Interior 1.0 9.935 0.386 9.179 10.691 Asymptotic
9 Interior 1.5 8.115 0.182 7.758 8.472 Asymptotic
10 Interior 2.0 7.067 0.137 6.798 7.335 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 1.609 15.763 22.069 Asymptotic
2 2013-2015 0.2 17.828 0.934 15.996 19.659 Asymptotic
3 2013-2015 0.4 17.117 0.620 15.901 18.332 Asymptotic
4 2013-2015 0.6 16.626 0.482 15.682 17.570 Asymptotic
5 2013-2015 0.8 16.285 0.423 15.456 17.115 Asymptotic
6 2013-2015 1.0 16.044 0.398 15.264 16.824 Asymptotic
7 2013-2015 1.2 15.869 0.387 15.110 16.628 Asymptotic
8 2013-2015 1.4 15.738 0.382 14.988 16.487 Asymptotic
9 2013-2015 1.6 15.636 0.380 14.891 16.382 Asymptotic
10 2013-2015 1.8 15.556 0.379 14.813 16.300 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.