8.2 Indices de biodiversité

Au premier abord, la notion de biodiversité est simple. Elle représente toute la variété des formes de la vie des gènes jusqu’à l’écosystème. Cependant réduire toute cette richesse à un seul chiffre n’est pas quelque chose d’évident. Les scientifiques vont donc avoir recours à ce que l’on appelle des indices de diversité pour tenter de la quantifier. Ces indices sont des paramètres qui sont fréquemment utilisés pour obtenir des informations sur l’état de communautés végétales ou animales, leur viabilité ou leur évolution dans le temps par exemple. Ils permettront également d’apprécier la diversité qui peut exister entre des zones ou des milieux différents. Le choix d’un indice dépendra de la taille de l’échantillon, du type de données et de la résolution spatiale. Dès lors, il existe différentes expressions de la diversité :

  • la diversité alpha (\(\alpha\)) ou diversité locale, entre les différents relevés à l’intérieur d’une zone (diversité intrazone),
  • la diversité bêta (\(\beta\)) : diversité de relevé entre des zones différentes (diversité interzone),
  • la diversité gamma (\(\gamma\)) qui représente la richesse spécifique globale.

8.2.1 Diversité alpha

8.2.1.1 Richesse spécifique

Le premier indice et le plus simple à calculer correspond à la richesse spécifique (S) et représente le nombre d’espèce que compte une communauté sans tenir compte de l’abondance relative de chacune des espèces. Vous pouvez l’obtenir très facilement avec la fonction vegan::specnumber().

Le jeu de données BCI du package vegan contient les valeurs de dénombrement obtenues suite au recensement des arbres sur 50 parcelles de 1 hectare sur l’île de Barro Colorado (BCI = Barro Colorado Island). Le nombre total d’espèces recensée sur les 50 parcelles est de 225. Prenons, un sous-ensemble de cinq parcelles de ce jeu de données et cherchons à identifier la richesse spécifique pour chacune d’entre-elles.

SciViews::R

bci <- read("BCI", package = "vegan")

#library(vegan)
#data("BCI")

set.seed(2003)
bci_sub <- sample_n(bci, 5) 

# Exploration partielle des données (15 premières espèces)
skimr::skim(bci_sub[, 1:15])
# Skim summary statistics
#  n obs: 5 
#  n variables: 15 
# 
# ── Variable type:integer ──────────────────────────────────────────────────────────────────────────────────────────────
#                 variable missing complete n mean   sd p0 p25 p50 p75 p100
#       Abarema.macradenia       0        5 5  0   0     0   0   0   0    0
#    Acalypha.diversifolia       0        5 5  0   0     0   0   0   0    0
#    Acalypha.macrostachya       0        5 5  0   0     0   0   0   0    0
#           Adelia.triloba       0        5 5  0.6 0.89  0   0   0   1    2
#     Aegiphila.panamensis       0        5 5  0.4 0.55  0   0   0   1    1
#  Alchornea.costaricensis       0        5 5  3.2 3.9   1   1   1   3   10
#      Alchornea.latifolia       0        5 5  0   0     0   0   0   0    0
#         Alibertia.edulis       0        5 5  0   0     0   0   0   0    0
#  Allophylus.psilospermus       0        5 5  0.8 0.84  0   0   1   1    2
#         Alseis.blackiana       0        5 5 17.8 5.17 13  14  17  19   26
#        Amaioua.corymbosa       0        5 5  0   0     0   0   0   0    0
#      Anacardium.excelsum       0        5 5  0.2 0.45  0   0   0   0    1
#           Andira.inermis       0        5 5  0.6 0.89  0   0   0   1    2
#          Annona.spraguei       0        5 5  0.4 0.55  0   0   0   1    1
#    Vachellia.melanoceras       0        5 5  0   0     0   0   0   0    0
#      hist
#  ▁▁▁▇▁▁▁▁
#  ▁▁▁▇▁▁▁▁
#  ▁▁▁▇▁▁▁▁
#  ▇▁▁▂▁▁▁▂
#  ▇▁▁▁▁▁▁▅
#  ▇▂▁▁▁▁▁▂
#  ▁▁▁▇▁▁▁▁
#  ▁▁▁▇▁▁▁▁
#  ▇▁▁▇▁▁▁▃
#  ▇▁▃▃▁▁▁▃
#  ▁▁▁▇▁▁▁▁
#  ▇▁▁▁▁▁▁▂
#  ▇▁▁▂▁▁▁▂
#  ▇▁▁▁▁▁▁▅
#  ▁▁▁▇▁▁▁▁
# Calcul de la Richesse spécifique pour chacune des parcelles
vegan::specnumber(bci_sub)
# [1] 102  87  84  84 109

Comme on peut le voir, cet indice permet de connaitre le nombre d’espèce présent sur chaque parcelle. Mais est-ce que chaque espèce est présente de manière équitable ? Ou est-ce que certaines espèces sont plus abondante que d’autres ? Cet indice ne tient pas compte de cette abondance dans son calcul et ne permet donc pas de répondre à ces questions. Par contre, l’indice de Shannon peut nous aider à répondre à cette question.

8.2.1.2 Indice de Shannon

L’indice de Shannon ou de Shannon-Weaver, introduit en écologie comme une mesure de la stabilité des communautés, prend en compte lors de son calcul la richesse et l’abondance relative des espèces contrairement à la richesse spécifique. La formule mathématique de l’indice de Shannon est la suivante :

\[H = - \sum_{i=1}^S p_i \ log_b\ p_i\] où : - \(p_i\) représente l’abondance proportionnelle de l’espèce et est compris entre 0 et 1 : \(p_i = \frac{n_i}{N}\) - \(S\) est la richesse spécifique - \(b\) la base du logarithme - \(n_i\) est le nombre d’individus d’une espèce dans l’échantillon - \(N\) est le nombre total d’individu de toutes les espèces dans l’échantillon : \(N = \sum_{i=1}^S n_i\)

L’indice H de Shannon varie donc en fonction du nombre d’espèce et de la proportion relative de ces différentes espèces. H vaudra 0 quand l’échantillon ne contient qu’une seule espèce et augmente lorsque le nombre d’espèce augmente. Plus l’indice H est élevé, plus la diversité est grande. H sera maximal et vaudra \(log_b S\) quand toutes les espèces sont également représentées.

Pour calculer l’indice de Shannon avec R, vous pouvez utiliser la fonction vegan::diversity(). Celle-ci demande comme argument :

  • x : des données sur une communauté sous la forme d’un vecteur ou d’une matrice
  • index : le choix d’un indice de biodiversité, ici "shannon" (valeur pas défaut, donc, pouvant être omis ici)
  • base : la base du logarithme lors du calcul de l’indice de Shannon. Par défaut, la fonction utilise le logarithme népérien.
bci_sub_h <- vegan::diversity(bci_sub)
bci_sub_h
# [1] 3.920918 3.859814 3.698414 3.848471 4.013094

8.2.1.3 Indice d’équitabilité de Piélou

L’indice de Shannon est rarement utilisé seul. Il est souvent accompagné de l’indice d’équitabilité de Piélou qui permet de mesurer la répartition des individus au sein des espèce. Il s’agit là d’un paramètre plus rigoureux et très utile pour comparer des dominances potentielles entre sites puisqu’il est indépendant de la richesse spécifique. Il traduit donc le degré de diversité qui est atteint par un peuplement et se calcul comme suit :

\[J = \frac{H}{H_{max}}\]

où : - \(H\) correspond à l’indice de Shannon - \(H_{max}\) correspond à la valeur de la diversité théorique maximale (\(log_b\ S\)) - \(S\) est la richesse spécifique

La valeur de l’indice d’équitabilité de Piélou (J) varie donc entre 0 et 1 où 0 correspond à la dominance d’une des espèces et 1 à l’équirépartition des individus entre les différentes espèces.

Il n’existe pas de fonction pour calculer cette indice dans R mais on peut le calculer facilement à partir de l’indice de Shannon que l’on vient de calculer et avec la fonction vegan::specnumber() pour connaitre la richesse spécifique.

bci_sub_s <- vegan::specnumber(bci_sub)
bci_sub_s
# [1] 102  87  84  84 109
bci_sub_j <- bci_sub_h / ln(bci_sub_s)
bci_sub_j  
# [1] 0.8477709 0.8642843 0.8347024 0.8685692 0.8554245

Il est important de noter que ces deux indices restent dépendants de la taille des échantillons et sont sensibles aux espèces rares.

8.2.1.4 Indice de Simpson

Il existe plusieurs indices permettant d’évaluer la biodiversité parmi lesquels on retrouve l’indice de Simpson. Cet indice aussi appelé indice de dominance mesure la probabilité que deux individus tirés au hasard à partir d’un échantillon appartiennent à la même espèce. Avec cet indice, on donne plus de poids aux espèces abondantes par rapport aux espèces rares. Dès lors, l’ajout d’une espèce rare à un échantillon ne modifiera pratiquement pas la valeur de l’indice de diversité.

\[D = \sum_{i=1}^S p_i^2\]

où :

  • \(p_i\) représente l’abondance proportionnelle de l’espèce et est compris entre 0 et 1 : \(p_i = \frac{n_i}{N}\)
  • \(S\) est la richesse spécifique

Sous cette forme, l’indice est inversement proportionnel à la diversité. La formulation suivante a donc été proposée pour que l’indice soit directement représentatif de la diversité.

\[E = 1 - \sum_{i=1}^S p_i^2\]

L’indice de Simpson varie dans l’intervalle \([0,1[\). Cet indice tend donc vers 0 lorsque la diversité est minimale et vers \(1 - \frac{1}{S}\) lorsque la diversité est maximale. Il vaudra donc 0 si une seule espèce est présente et donc une probabilité de \(p_i = 1\) et \(1 - \frac{1}{S}\) si les différentes espèces présentes ont la même probabilité \(p_i = \frac{1}{S}\).

Le calcul de cet indice dans R se fait aussi avec la fonction vegan::diversity(, index = "simpson").

bci_sub_e <- vegan::diversity(bci_sub, index = "simpson")
bci_sub_e
# [1] 0.9672083 0.9658398 0.9550599 0.9683393 0.9655820

8.2.2 Diversité beta

La diversité \(\beta\) traduit la diversité inter-formation. Pour identifier le degré de similarité, d’association entre des groupes ou la diversité de différenciation des espèces entre différents habitats, on utilise les coefficient ou indice de similarité ou de similitude. Le choix adéquat d’un indice de similarité, n’est pas évident et la question à se poser est de savoir si le fait qu’une espèce soit absente ou non contribue à augmenter la dissimilarité. Il existe plusieurs indices de similarité qui s’appliquent sur des données de présence-absence comme l’indice de Jaccard que nous allons vous présenter ici.

Cet indice permet une comparaison entre deux sites car il évalue la ressemblance en calculant le rapport entre les espèces communes aux deux sites et celles propre à chaque relevé. La formule est la suivante :

\[I = \frac{N_c}{N_1 + N2 – N_c}\]

où :

  • \(N_c\) correspond au nombre de taxon commun entre les deux sites
  • \(N_1\) et \(N_2\) le nombre de taxons présents sur le site 1 et 2, respectivement

Les valeurs de l’indice varient entre 0 lorsque les deux sites n’ont aucune espèce en commun, et 1 quand les deux sites ont toutes leurs espèce en commun. Dès lors plus la valeur est proches de 1, plus les sites sont similaire.

Dans R, l’indice qui est calculé avec la fonction vegan::vegdist() est un indice de dissimilarité. L’indice de similarité est complémentaire à l’indice de dissimilarité et se calcule comme suit :

\[ similarité = 1 – dissimilarité\]

Regardons comment colculer l’indice de Jaccard pour nos cinq parcelles avec R :

1 - vegan::vegdist(bci_sub, method = "jaccard", binary = TRUE)
#           1         2         3         4
# 2 0.4765625                              
# 3 0.5000000 0.4869565                    
# 4 0.4418605 0.6132075 0.4867257          
# 5 0.5629630 0.5193798 0.5196850 0.5078125
Pour en savoir plus
A vous de jouer !
  • Réalisez la suite du projet spécifique lié au module 08.
Le lien pour réaliser ce projet se trouve au début du module Ce projet doit être terminé à la fin de ce module
  • Complétez votre projet sur le transect entre Nice et Calvi débuté lors du module 5. Lisez attentivement le README (Ce dernier a été mis à jour). Il serait intéressant de connaitre la station avec la haute diversité. Comment évolue la diversité le long du transect ?

Complétez votre projet. Lisez attentivement le README.

La dernière version du README est disponible via le lien suivant :

Le README est un rappel des consignes, il ne s’agit aucunement du lien pour débuter le travail