pkgdown/mathjax-config.html

Skip to contents

Overview

Beyond simple species richness (q=0), spacc supports accumulation curves for the full family of Hill numbers, beta diversity partitioning, phylogenetic diversity, and functional diversity. This vignette demonstrates each approach.

Simulating Data

library(spacc)

set.seed(123)
n_sites <- 60
n_species <- 30

coords <- data.frame(
  x = runif(n_sites, 0, 100),
  y = runif(n_sites, 0, 100)
)

# Abundance matrix with spatial clustering
species <- matrix(0L, n_sites, n_species)
for (sp in seq_len(n_species)) {
  cx <- runif(1, 10, 90)
  cy <- runif(1, 10, 90)
  lambda <- 5 * exp(-0.001 * ((coords$x - cx)^2 + (coords$y - cy)^2))
  species[, sp] <- rpois(n_sites, lambda)
}
colnames(species) <- paste0("sp", seq_len(n_species))

Alpha, Beta, and Gamma Diversity

spacc provides functions for the multiplicative decomposition of diversity into alpha (local), beta (turnover), and gamma (regional) components (Jost 2007):

# Alpha diversity: per-site Hill numbers
alpha <- alphaDiversity(species, q = c(0, 1, 2))
colMeans(alpha)
#>       q0       q1       q2 
#> 15.06667 12.39927 10.61170

# Gamma diversity: pooled regional diversity
gamma <- gammaDiversity(species, q = c(0, 1, 2))
gamma
#>       q0       q1       q2 
#> 30.00000 29.23513 28.56626

# Full partition: gamma = alpha * beta
partition <- diversityPartition(species, q = c(0, 1, 2))
partition
#> Alpha-Beta-Gamma Diversity Partitioning
#> 60 sites, 30 species
#> 
#>  q alpha beta gamma
#>  0 15.07 1.99 30.00
#>  1 11.42 2.56 29.24
#>  2  8.81 3.24 28.57
#> 
#> Interpretation:
#>   Alpha = mean effective species per site
#>   Beta  = effective number of communities (1 to n_sites)
#>   Gamma = regional effective species (gamma = alpha x beta)

Hill Number Accumulation

Hill numbers unify richness (q=0), Shannon diversity (exponential, q=1), and Simpson diversity (inverse, q=2) into a single framework (Jost 2007, Chao et al. 2014):

hill <- spaccHill(species, coords, q = c(0, 1, 2), n_seeds = 20, progress = FALSE)
plot(hill)
10 20 30 0 20 40 60 Sites accumulated Hill number (effective species) Order q = 0 q = 1 q = 2 Spatial Hill Number Accumulation

Hill number accumulation for q = 0, 1, 2.

Higher-order q values emphasise dominant species, so diversity accumulates more slowly at q=2 compared to q=0.

Beta Diversity

spaccBeta() partitions spatial beta diversity into turnover and nestedness components (Baselga 2010):

pa <- (species > 0) * 1L
beta <- spaccBeta(pa, coords, n_seeds = 20, progress = FALSE)
plot(beta)
0.0 0.1 0.2 0.3 0.4 0.5 0 20 40 60 Sites accumulated Beta diversity (sorensen) Component Total Turnover Nestedness Spatial Beta Diversity Accumulation

Spatial beta diversity accumulation with turnover/nestedness.

Turnover reflects species replacement along spatial gradients, while nestedness captures diversity loss at species-poor sites.

Functional Beta Diversity

spaccBetaFunc() weights beta diversity by trait dissimilarity (Baselga 2012):

# Simulate two continuous traits
traits <- data.frame(
  body_size = rnorm(n_species),
  wing_length = rnorm(n_species)
)
rownames(traits) <- colnames(species)

beta_func <- spaccBetaFunc(pa, coords, traits, n_seeds = 20, progress = FALSE)
plot(beta_func)
0.00 0.05 0.10 0.15 0.20 0 20 40 60 Sites accumulated Beta diversity (sorensen) Component Total Turnover Nestedness Spatial Beta Diversity Accumulation

Functional beta diversity accumulation.

Phylogenetic Beta Diversity

spaccBetaPhylo() uses phylogenetic distances to weight beta diversity (Chao et al. 2023):

library(ape)
#> 
#> Attaching package: 'ape'
#> The following object is masked from 'package:spacc':
#> 
#>     ace
tree <- rcoal(n_species, tip.label = colnames(species))

beta_phylo <- spaccBetaPhylo(pa, coords, tree, n_seeds = 20, progress = FALSE)
plot(beta_phylo)
0.0 0.2 0.4 0.6 0 20 40 60 Sites accumulated Beta diversity (sorensen) Component Total Turnover Nestedness Spatial Beta Diversity Accumulation

Phylogenetic beta diversity accumulation.

Phylogenetic Diversity Accumulation

spaccPhylo() tracks phylogenetic diversity metrics (MPD, MNTD, Faith’s PD) as sites accumulate spatially:

phylo_acc <- spaccPhylo(pa, coords, tree,
                        metric = c("mpd", "mntd", "pd"),
                        n_seeds = 20, progress = FALSE)
plot(phylo_acc)
0 3 6 9 12 0 20 40 60 Sites accumulated Phylogenetic diversity Metric MNTD MPD PD Spatial Phylogenetic Diversity Accumulation

Phylogenetic diversity accumulation.

Functional Diversity Accumulation

spaccFunc() tracks functional diversity metrics (FDis, FRic) as sites accumulate:

func_acc <- spaccFunc(species, coords, traits,
                      metric = c("fdis"),
                      n_seeds = 20, progress = FALSE)
plot(func_acc)
1.0 1.2 1.4 0 20 40 60 Sites accumulated Functional diversity Metric FDIS Spatial Functional Diversity Accumulation

Functional diversity accumulation.

Coverage-Based Rarefaction

spaccCoverage() computes accumulation curves with sample coverage tracking (Chao & Jost 2012), enabling standardization by completeness:

cov <- spaccCoverage(species, coords, n_seeds = 20, progress = FALSE)
plot(cov)
10 15 20 25 30 0 20 40 60 Sites accumulated Species richness Coverage-Based Spatial Accumulation

Coverage-based spatial rarefaction.

Interpolate richness at specific coverage targets:

interp <- interpolateCoverage(cov, target = c(0.90, 0.95))
summary(interp)
#>       C90             C95       
#>  Min.   :12.57   Min.   :13.52  
#>  1st Qu.:17.65   1st Qu.:19.74  
#>  Median :19.40   Median :21.85  
#>  Mean   :19.57   Mean   :21.51  
#>  3rd Qu.:22.12   3rd Qu.:24.20  
#>  Max.   :25.00   Max.   :27.00

References

  • Baselga, A. (2010). Partitioning the turnover and nestedness components of beta diversity. Global Ecology and Biogeography, 19, 134-143.
  • Baselga, A. (2012). The relationship between species replacement, dissimilarity derived from nestedness, and nestedness. Global Ecology and Biogeography, 21, 1223-1232.
  • Chao, A. & Jost, L. (2012). Coverage-based rarefaction and extrapolation. Ecology, 93, 2533-2547.
  • Chao, A., Gotelli, N.J., Hsieh, T.C., et al. (2014). Rarefaction and extrapolation with Hill numbers. Ecological Monographs, 84, 45-67.
  • Faith, D.P. (1992). Conservation evaluation and phylogenetic diversity. Biological Conservation, 61, 1-10.
  • Jost, L. (2007). Partitioning diversity into independent alpha and beta components. Ecology, 88, 2427-2439.