Un module R pour l’analyse des graphes bipartis : le package bipartite

Dans un tutoriel disponible sur Cours en ligne, j’ai présenté trois modules R pour l’analyse de réseaux (statnet, igraph et tnet). D’autres modules sont disponibles et ce court billet présente les principales fonctions du module bipartite (version 1.17). Les termes anglophones sont en italique, les commandes et les scripts R en gras.

Pour mémoire, un graphe biparti (bipartite, two-mode network ou affilliation network) représente les liens entre deux ensembles d’acteurs différents. L’un des jeux de données les plus étudiés de ce type est ainsi le graphe dit Davis’ Southern Women Club, à savoir le graphe symbolisant la participation de 18 femmes à 14 réunions dans une ville du sud des États-Unis dans les années 30 (ce jeu de données est disponible dans quasiment tous les logiciels d’analyse de réseau).

Le package bipartite étant développé par des écologues, les réseaux inclus concernent essentiellement des liens fleurs – pollinisateurs.

La structure des données en entrée doit être de forme matricielle, le package traitant des objets de type « matrix« . Le graphe peut être valué.

Contrairement à la plupart des modules qui proposent un (voire plusieurs) fonction(s) pour obtenir un seul indicateur, bipartite a l’excellente idée de proposer deux fonctions, l’une portant sur les sommets (specieslevel), l’autre sur l’ensemble du graphe (networklevel). Dans les deux cas, les mesures proposées sont nombreuses et mêlent indicateurs canoniques (densité, degré) et innovations de ces dix (quinze) dernières années (modularité). Certaines fonctions créent des graphiques bienvenus, telle la fonction degreedistr qui permet de représenter fréquence cumulée et droite de régression.

Résultat des commandes

data(Safariland)                   #réseau de pollinisation argentin

degreedistr(Safariland)

sortie graphique de la commande degreedistr

Il est également possible de comparer les caractéristiques du graphe étudié et celles de graphes aléatoires bipartis (voir script téléchargeable ci-dessous).

Les visualisations produites sont moins attrayantes que celles disponibles avec des réseaux one-mode et cela est logique dans la mesure où les algorithmes de visualisation pour les graphes bipartites sont – à ma connaissance – rares. Trois types sont disponibles (voir les sorties graphiques par défaut ci dessous) : matrice d’adjacence, graphe bipartite et graphe de co-occurence.

Résultat des commandes

data(Safariland)
visweb(Safariland)
résultat de la commande visweb

Résultat des commandes

data(Safariland)
plotweb(Safariland)
résultat de la commande plotweb

Résultat des commandes

data(Safariland)
plotPAC(Safariland)
résultat de la commande plotweb

Comme toujours avec R, le plus utile est encore de tester le package et de fouiller les rubriques d’aide des différentes fonctions. Le script téléchargeable ci-dessous présente les principales fonctions et les options de visualisation disponibles. Il ne prétend évidemment pas à l’exhaustivité.

Script R pour le package bipartite

Toute la documentation est ici : http://cran.r-project.org/web/packages/bipartite/index.html

Référence : Dormann, C.F., Gruber B. & Fründ, J. (2008). Introducing the  bipartite Package: Analysing Ecological Networks. R news Vol 8/2, 8-11.


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *