# Installer les packages requis
install.packages(c("devtools", "tidyverse", "sf"))
# Installer afribat depuis GitHub
::install_github("oousmane/afribat") devtools
Introduction
L’Afrique est un foyer de biodiversité parmi les plus riches au monde, et les chauves-souris y occupent une place centrale, jouant un rôle clé dans la pollinisation, le contrôle des insectes nuisibles et la dispersion des graines. Cependant, la recherche sur la biodiversité dans cette région se heurte souvent à des défis liés à l’accessibilité des données, à la reproductibilité et à l’intégration des workflows. Pour répondre à ces problématiques, j’ai développé {afribat}, un data package R conçu pour contribuer à la recherche sur les chauves-souris africaines tout en favorisant la reproductibilité et l’efficacité.
{afribat} est basé sur le jeu de données publié par Monadjem et al. (2024) dans Scientific Data (Nature) . Ce jeu de données, rigoureusement élaboré, constitue une ressource essentielle pour les chercheurs. En embarquant ces données directement dans le package, {afribat} élimine la gestion fastidieuse des fichiers CSV et facilite une intégration fluide dans les workflows. De plus, le package comprend des fonctions utilitaires pour calculer des indices de biodiversité tels que la richesse spécifique et la diversité de Shannon. Ainsi, ce package se veut être solution pour étudier les distributions des espèces, leurs métriques de diversité, et bien plus encore. Avec {afribat}, les chercheurs peuvent se concentrer sur la génération d’insights pour soutenir les efforts de conservation tout en garantissant des workflows transparents et reproductibles.
Prérequis pour reproduire les analyses
Pour suivre et reproduire les analyses présentées dans ce blog, vous allez créer un projet structuré nommé intro-afribat/
. Cette organisation permettra une gestion claire des données et des scripts tout en facilitant la reproductibilité.
-afribat/
intro/ # Répertoire pour stocker les données
├── data# Description du projet
├── README.md -afribat.Rproj # Fichier de projet RStudio ├── intro
Assurez-vous également d’installer tous les packages nécessaires pour exécuter les analyses :
Nous allons, pour l’exemple utiliser les données cartographiques de l’Angola via GADM pour filtrer les données et calculer quelques indices de biodiversités. Le code ci-après permet de télecharge le fichier geopackage nommé `gadm41_AGO.gpkg` dans data/.
download.file(
url = "https://geodata.ucdavis.edu/gadm/gadm4.1/gpkg/gadm41_AGO.gpkg",
destfile = "data/gadm41_AGO.gpkg"
)
Une visualisation rapide des données
Visualisation de distribution géographique des espèces
L’un des points forts de {afribat} est sa capacité à faciliter l’analyse et la visualisation des données géoréferencées, permettant de mieux comprendre la répartition des espèces de chauves-souris en Afrique. Une visualisation rapide de toute la base de données est produites sur la
library(tidyverse)
library(sf)
library(afribat)
<- afribat::afribats_sf
df
ggplot()+
geom_sf(data =df, aes (color = species))+
scale_color_viridis_d()+
theme(legend.position = "none")
L’utilisation du format sf (Simple Features) pour les données {afribat} offre des possibilités étendues pour les analyses spatiales en R, en tirant parti de la puissance des packages du tidyverse. Par exemple, la fonction sf::st_filter()
facilite la sélection des données d’une zone géographique spécifique, comme l’Angola. En parallèle, les outils robustes de dplyr (group_by()
, summarise()
, filter()
) et de tidyr permettent des manipulations avancées et flexibles, incluant des jointures spatiales avec d’autres couches de données environnementales. Cette combinaison entre simplicité et puissance ouvre la voie à des analyses géospatiales intégrées et approfondies.
library(tidyverse)
library(sf)
library(afribat)
<- afribat::afribats_sf
df
<- read_sf("data/gadm41_AGO.gpkg")
ago
<- st_filter(x=df,y=ago,.predicate = st_intersects)
ago_df ago_df
Simple feature collection with 350 features and 11 fields
Geometry type: POINT
Dimension: XY
Bounding box: xmin: 12.13 ymin: -17.93 xmax: 23.38 ymax: -5.13
Geodetic CRS: WGS 84
# A tibble: 350 × 12
family genus species museum date year country location reference
* <chr> <chr> <chr> <chr> <date> <dbl> <chr> <chr> <chr>
1 Emballonuri… Cole… afra <NA> NA NA Angola Benguela Crawford…
2 Emballonuri… Cole… afra IICA5… NA NA Angola Novo Re… Monadjem…
3 Emballonuri… Sacc… peli <NA> NA NA Angola Lago Ca… Crawford…
4 Emballonuri… Taph… maurit… IICA45 1960-12-28 1960 Angola Luanda Monadjem…
5 Emballonuri… Taph… maurit… <NA> NA NA Angola Benguela Crawford…
6 Emballonuri… Taph… maurit… <NA> NA NA Angola Caiundo Crawford…
7 Emballonuri… Taph… maurit… <NA> NA NA Angola Catumbe… Crawford…
8 Emballonuri… Taph… maurit… <NA> NA NA Angola Dundo Crawford…
9 Emballonuri… Taph… maurit… <NA> NA NA Angola Duque d… Crawford…
10 Emballonuri… Taph… maurit… <NA> NA NA Angola Humbe Crawford…
# ℹ 340 more rows
# ℹ 3 more variables: holotype <chr>, checked <chr>, geometry <POINT [°]>
Une fois les données filtrées sur l’Angola, nous pouvons produire une carte de la distribution des espèces de chauves-souris
library(tidyverse)
library(sf)
library(afribat)
<- afribat::afribats_sf
df
<- read_sf("data/gadm41_AGO.gpkg")
ago
<- st_filter(x=df,y=ago,.predicate = st_intersects)
ago_df
ggplot()+
geom_sf(data =ago)+
geom_sf(data = ago_df,color= "blue", size = 3)
Comme mentionné précédemment, {afribat} ne se limite pas à embarquer des données. Le package propose également des fonctions utilitaires conçues pour calculer divers indices de biodiversité, facilitant ainsi les analyses écologiques. Pour en savoir davantage sur ses fonctionnalités et son utilisation, consultez la documentation https://oousmane.github.io/afribat
Indice de Shannon-Weiner
shannon_weiner(ago_df$species)
[1] 3.644943
Une meta fonction pour calculer en une fois tous les indices présentement disponibles
<- function(x){
biodiv_indices <- shannon_weiner(x)
a <- evenness(x)
b <- simpson(x)
c <- margalef(x)
d
return(
list(
marglef = d,
shannon_weiner = a,
simpson = c,
evenness = b
)
)
}
biodiv_indices(ago_df$species)
$marglef
[1] 10.41323
$shannon_weiner
[1] 3.644943
$simpson
[1] 26.75841
$evenness
[1] 0.8831656
Conclusion
En proposant les données sous format {sf}
, {afribat} offre une flexibilité exceptionnelle pour les analyses géospatiales. Que vous souhaitiez explorer les distributions d’espèces, effectuer des jointures spatiales, ou filtrer des données selon des régions d’intérêt, Afribat simplifie ces tâches tout en intégrant des outils modernes comme {dplyr} et {ggplot2}. Essayez le dès aujourd’hui et découvrez tout le potentiel des analyses reproductibles en écologie !
Remerciements
Je tiens à remercier Idrissa Ouedraogo et Parfait Thiombiano pour leur relecture des formules des indices de biodiversité, ainsi que les auteurs de African Bat Database pour leur précieuse contribution à la recherche en écologie particulièrement dans l’étude et la conservation des chauves-souris.
Citation
@online{ouedraogo2025,
author = {Ouedraogo, Ousmane},
title = {Présentation de \{afribat\}},
date = {2025-01-11},
url = {https://oousmane.github.io/programming-is-thinking},
langid = {fr}
}