Pourquoi s’intéresser aux graphes?

Voilà quelques temps que je travaille sur les réseaux sociaux et que, de ce fait, je me frotte à la production de graphes. Il y a quelques années (déjà!) j’avais écrit un premier billet de blog sur ce sujet ici. Depuis ce billet, il y a eu des progrès de faits (non seulement par moi, mais par R aussi) et la manipulation/production de graphes est devenue plus aisée. Elle n’est plus l’affaire exclusive de gens dont ce serait l’outil privilégié (voire le sujet d’étude), mais s’avère un outil utile et accessible pour traiter certains types de données.

Parmi les raisons de cette démocratisation, il y a sans aucun doute l’effort pédagogique d’un certain nombre de mes confrères et la multiplication d’exemples sympas en ligne et dans la littérature. Il y a aussi, je pense, le fait que divers packages qui s’intéressent aux réseaux et graphes s’inscrivent désormais dans la logique “tidyverse”. En tout cas, cette évolution joue pour moi (qui ne recours qu’occasionnellement aux graphes, et qui le reste du temps ne jure que par le tidyverse pour la manipulation de données) très favorablement en faveur de leur utilisation…

Parmi ces packages, je pense notamment aux packages ggraph et tidygraph de Thomas Lin Pederson, que j’utiliserai dans la suite de ce billet. Le package tidygraph repose sur une logique proche de dplyr, mais adapté aux tables “doubles” (noeuds et liens) des réseaux, tandis que, comme son nom l’indique, ggraph repose sur une logique proche de ggplot2 pour leur tracé.

Une série de billets à venir

Pour explorer la construction de graphes avec R de manière complète, il y a de nombreux points à aborder… Dans l’ordre naturel du “workflow” il faudrait:

  • recueillir des données qui se prêtent à la construction de graphes, par exemple les données de réseaux sociaux sus-mentionnées…
  • manipuler et mettre en forme ces données (nettoyer, transformer, filtrer, etc… oui oui vous me voyez venir, je veux parler de la partie tidygraph du processus)
  • construire la visualisation du graphe (coucou le package ggraph!)

Sauf que j’ai besoin/envie d’introduire les choses dans l’ordre inverse, et ainsi d’aborder les choses du plus simple et parlant (la visu) au plus compliqué (le recueil des données et la manip de l’objet graphe), soit de :

  • montrer comment fonctionne ggraph à partir d’un petit graphe pas trop complexe
  • montrer comment fonctionne tidygraph (et comprendre comment il peut nous servir à “alléger” le graphe, et sa visualisation)
  • montrer comment recueilir des données des réseaux sociaux (qui se prêtent naturellement à la construction de graphes)
  • reboucler l’ensemble et construire un exemple de graphe à partir des données recueillies en 3)…

Mon penchant pour la procrastination est tel que j’ai préféré être sûre que, a minima, le premier billet (sur ggraph) était prêt, avant de faire des effets d’annonce et de mettre en ligne cette intro…

Si vous êtes intéressés, donc, allez vite voir ce billet ici!

Un peu de lecture…