Présentation de {afribat}

Un data package des chauves-souris africaines pour améliorer la reproductibilité et l’efficacité en recherche sur la biodiversité

{afribat} est un data package R, conçu pour soutenir la recherche sur la biodiversité en intégrant un ensemble complet de données sur les chauves-souris africaines sous forme de. Construit pour simplifier et automatiser les workflows, {afribat} répond aux défis de reproductibilité dans les études écologiques en offrant un accès programmatique direct à des données de haute qualité publiées dans Nature.

Data
R
Biodiversité
Auteur·rice
Date de publication

11 janvier 2025

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é.

intro-afribat/
├── data/                # Répertoire pour stocker les données
├── README.md            # Description du projet
├── intro-afribat.Rproj  # Fichier de projet RStudio

Assurez-vous également d’installer tous les packages nécessaires pour exécuter les analyses :

# Installer les packages requis
install.packages(c("devtools", "tidyverse", "sf"))

# Installer afribat depuis GitHub
devtools::install_github("oousmane/afribat")

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

library(tidyverse)
library(sf)

ago <- read_sf("data/gadm41_AGO.gpkg")
Warning in CPL_read_ogr(dsn, layer, query, as.character(options), quiet, :
automatically selected the first layer in a data source containing more than
one.
ggplot()+
  geom_sf(data = ago, color = "black",linewidth = 1)

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)

df <- afribat::afribats_sf

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)

df <- afribat::afribats_sf

ago <- read_sf("data/gadm41_AGO.gpkg")

ago_df <- st_filter(x=df,y=ago,.predicate = st_intersects)
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)

df <- afribat::afribats_sf

ago <- read_sf("data/gadm41_AGO.gpkg")

ago_df <- st_filter(x=df,y=ago,.predicate = st_intersects)

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

biodiv_indices <- function(x){
  a <- shannon_weiner(x)
  b <- evenness(x)
  c <- simpson(x)
  d <- margalef(x)
  
  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

BibTeX
@online{ouedraogo2025,
  author = {Ouedraogo, Ousmane},
  title = {Présentation de \{afribat\}},
  date = {2025-01-11},
  url = {https://oousmane.github.io/programming-is-thinking},
  langid = {fr}
}
Veuillez citer ce travail comme suit :
Ouedraogo, Ousmane. 2025. “Présentation de {afribat}.” January 11, 2025. https://oousmane.github.io/programming-is-thinking.