Niche Overlap Index Function

Niche overlap refers to the extent to which different species use the same resources or occupy similar ecological niches. High niche overlap might indicate intense competition, whereas low overlap suggests niche differentiation, allowing species to coexist by minimizing direct competition.

Functionality Overview

To capture the changes in density-independent abiotic response, also known as niche breadth, this implementation developed based on Pianka's Niche Overlap Index, as suggested by Pianka (1973). The summary statistics of this index include the mean, maximum, and minimum values across all species pairs, providing a comprehensive understanding of niche sharing within the community.

Since most ecological datasets lack direct measurements of species-specific resource utilization, we developed an adaptation of the original niche overlap index that can be applied to abundance data. Specifically, our implementation assumes all species share the same consumption rate and type I functional response, such that species with higher abundance have proportionally higher resource utilization at any given site-time combination. This assumption allows abundance data to serve as a proxy for resource utilization patterns, enabling calculation of niche overlap index from observed abundance data. Keep in mind that this approach will not be able to reflect the fact that some species may be more efficient in consumption than others. Therefore, this approach works best when comparing species with similar body sizes, metabolic rates, or feeding strategies, as these factors strongly influence the abundance-consumption relationship.

The Function

MetaCommunityMetrics.niche_overlapFunction
niche_overlap(abundance::AbstractVector, species::AbstractVector, site::AbstractVector, time::AbstractVector) -> DataFrame

Calculates the overall mean, maximum, and minimum values of the niche overlap index from all species pairs in the provided data.

Arguments

  • abundance::AbstractVector: Vector representing the abundance of species.
  • species::AbstractVector: Vector representing species names or IDs.
  • site::AbstractVector: Vector representing site names or IDs.
  • time::AbstractVector: Vector representing sampling dates.

Description

The niche overlap index is calculated based on the method suggested by Pianka (1973), with the assumption that the proportional use of resources by a species at a specific site and time is equivalent to its relative abundance at that location and time period across all sampled sites and times.

Returns

  • DataFrame: A DataFrame containing the overall mean, maximum, and minimum values of the niche overlap index from all species pairs.

Example

julia> using MetaCommunityMetrics

julia> df = load_sample_data()
53352×12 DataFrame
   Row │ Year   Month  Day    Sampling_date_order  plot   Species  Abundance  Presence  Latitude  Longitude  standardized_temperature  standardized_precipitation 
       │ Int64  Int64  Int64  Int64                Int64  String3  Int64      Int64     Float64   Float64    Float64                 Float64                  
───────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
     1 │  2010      1     16                    1      1  BA               0         0      35.0     -110.0                0.829467              -1.4024
     2 │  2010      1     16                    1      2  BA               0         0      35.0     -109.5               -1.12294               -0.0519895
     3 │  2010      1     16                    1      4  BA               0         0      35.0     -108.5               -0.409808              -0.803663
     4 │  2010      1     16                    1      8  BA               0         0      35.5     -109.5               -1.35913               -0.646369
     5 │  2010      1     16                    1      9  BA               0         0      35.5     -109.0                0.0822                 1.09485
   ⋮   │   ⋮      ⋮      ⋮             ⋮             ⋮       ⋮         ⋮         ⋮         ⋮          ⋮                ⋮                        ⋮
 53348 │  2023      3     21                  117      9  SH               0         0      35.5     -109.0               -0.571565              -0.836345
 53349 │  2023      3     21                  117     10  SH               0         0      35.5     -108.5               -2.33729               -0.398522
 53350 │  2023      3     21                  117     12  SH               1         1      35.5     -107.5                0.547169               1.03257
 53351 │  2023      3     21                  117     16  SH               0         0      36.0     -108.5               -0.815015               0.95971
 53352 │  2023      3     21                  117     23  SH               0         0      36.5     -108.0                0.48949               -1.59416
                                                                                                                                            53342 rows omitted
                                                                                          
julia> result = niche_overlap(df.Abundance, df.Species, df.plot, df.Sampling_date_order)
1×3 DataFrame
 Row │ mean_niche_overlap_index  min_niche_overlap_index  max_niche_overlap_index 
     │ Float64                   Float64                  Float64                 
─────┼────────────────────────────────────────────────────────────────────────────
   1 │                0.0923816                      0.0                 0.406837
source

References

  1. MacArthur, R., & Levins, R. (1967). The limiting similarity, convergence, and divergence of coexisting species. The american naturalist, 101(921), 377-385. https://doi.org/10.1086/282505
  2. Pianka, E. R. (1974). Niche overlap and diffuse competition. Proceedings of the National Academy of Sciences, 71(5), 2141-2145. https://doi.org/10.1073/pnas.71.5.2141
  3. Pianka, E. R. (1973). The structure of lizard communities. Annual review of ecology and systematics, 53-74. https://www.jstor.org/stable/2096804