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…
-
… sur ggraph -par Thomas Lin Pederson, l’auteur du package-
-
… un billet de blog sur tidygraph -par Thomas Lin Pederson-
-
… une illustration de l’usage des graphes -par Shirin Glander- sur un exemple “fun” à savoir les données généalogiques des personnages de Game Of Thrones…
-
… une présentation vidéo sur l’utilisation de tidygraph et ggraph -par Thomas Lin Pederson-
-
… un billet de blog sur les graphes “tidy” -par Edgar Ruiz-, qui développe l’exemple des réseaux de gares françaises (nombre moyen de voyageurs)
-
…un billet de blog très complet sur l’analyse de réseaux dans R -par Jesse Sadler- expliquant pas-à-pas la construction du graphe, et exposant brièvement la place de différents packages liés à cette problématique dans R
-
… une série de billets de blogs sur les réseaux(en général)