{"id":1095,"date":"2019-10-15T16:56:37","date_gmt":"2019-10-15T14:56:37","guid":{"rendered":"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/?p=1095"},"modified":"2019-10-15T17:08:49","modified_gmt":"2019-10-15T15:08:49","slug":"des-graphes-bien-peignes","status":"publish","type":"post","link":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/des-graphes-bien-peignes\/","title":{"rendered":"Des graphes bien peign\u00e9s"},"content":{"rendered":"<p><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/Graphes_et_tidyverse_intro\/Lise_Vaudor_headband-1.png\" alt=\"\" \/><\/p>\n<h1>Pourquoi s\u2019int\u00e9resser aux graphes?<\/h1>\n<p>Voil\u00e0 quelques temps que je travaille sur les <strong>r\u00e9seaux sociaux<\/strong> et que, de ce fait, je me frotte \u00e0 la production de <strong>graphes<\/strong>. Il y a quelques ann\u00e9es (d\u00e9j\u00e0!) j\u2019avais \u00e9crit un premier billet de blog sur ce sujet <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/graphes-pour-la-visualisation-de-reseaux\/\">ici<\/a>. Depuis ce billet, il y a eu des progr\u00e8s de faits (non seulement par moi, mais par R aussi) et la manipulation\/production de graphes est devenue plus ais\u00e9e. Elle n\u2019est plus l\u2019affaire exclusive de gens dont ce serait l\u2019outil privil\u00e9gi\u00e9 (voire le sujet d\u2019\u00e9tude), mais s\u2019av\u00e8re un <strong>outil utile et accessible pour traiter certains types de donn\u00e9es<\/strong>.<\/p>\n<p>Parmi les raisons de cette d\u00e9mocratisation, il y a sans aucun doute l\u2019effort p\u00e9dagogique d\u2019un certain nombre de mes confr\u00e8res et la multiplication d\u2019exemples sympas en ligne et dans la litt\u00e9rature. Il y a aussi, je pense, le fait que divers packages qui s\u2019int\u00e9ressent aux r\u00e9seaux et graphes s\u2019inscrivent d\u00e9sormais dans <strong>la logique \u201ctidyverse\u201d<\/strong>. En tout cas, cette \u00e9volution joue <em>pour moi<\/em> (qui ne recours qu\u2019<strong>occasionnellement<\/strong> aux graphes, et qui le reste du temps ne jure que par le tidyverse pour la manipulation de donn\u00e9es) tr\u00e8s favorablement en faveur de leur utilisation\u2026<\/p>\n<p>Parmi ces packages, je pense notamment aux packages <strong>ggraph<\/strong> et <strong>tidygraph<\/strong> de Thomas Lin Pederson, que j\u2019utiliserai dans la suite de ce billet. Le package <strong>tidygraph<\/strong> repose sur une logique proche de <strong>dplyr<\/strong>, mais adapt\u00e9 aux tables \u201cdoubles\u201d (noeuds et liens) des r\u00e9seaux, tandis que, comme son nom l\u2019indique, <strong>ggraph<\/strong> repose sur une logique proche de <strong>ggplot2<\/strong> pour leur trac\u00e9.<\/p>\n<p><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/Graphes_et_tidyverse_intro\/librairies-1.png\" alt=\"\" \/><\/p>\n<h1>Une s\u00e9rie de billets \u00e0 venir<\/h1>\n<p>Pour explorer la construction de graphes avec R de mani\u00e8re compl\u00e8te, il y a de nombreux points \u00e0 aborder\u2026 Dans l\u2019<strong>ordre naturel du \u201cworkflow\u201d<\/strong> il faudrait:<\/p>\n<ul>\n<li><strong>recueillir des donn\u00e9es<\/strong> qui se pr\u00eatent \u00e0 la construction de graphes, par exemple les donn\u00e9es de r\u00e9seaux sociaux sus-mentionn\u00e9es\u2026<\/li>\n<li><strong>manipuler et mettre en forme ces donn\u00e9es<\/strong> (nettoyer, transformer, filtrer, etc\u2026 oui oui vous me voyez venir, je veux parler de la partie <code>tidygraph<\/code> du processus)<\/li>\n<li><strong>construire la visualisation du graphe<\/strong> (coucou le package <code>ggraph<\/code>!)<\/li>\n<\/ul>\n<p>Sauf que j\u2019ai besoin\/envie d\u2019<strong>introduire les choses dans l\u2019ordre inverse<\/strong>, et ainsi d\u2019aborder les choses du plus simple et parlant (la visu) au plus compliqu\u00e9 (le recueil des donn\u00e9es et la manip de l\u2019objet graphe), soit de :<\/p>\n<ul>\n<li><strong>montrer comment fonctionne ggraph<\/strong> \u00e0 partir d\u2019un petit graphe pas trop complexe<\/li>\n<li><strong>montrer comment fonctionne tidygraph<\/strong> (et comprendre comment il peut nous servir \u00e0 \u201call\u00e9ger\u201d le graphe, et sa visualisation)<\/li>\n<li><strong>montrer comment recueilir des donn\u00e9es des r\u00e9seaux sociaux<\/strong> (qui se pr\u00eatent naturellement \u00e0 la construction de graphes)<\/li>\n<li>reboucler l\u2019ensemble et <strong>construire un exemple de graphe<\/strong> \u00e0 partir des donn\u00e9es recueillies en 3)\u2026<\/li>\n<\/ul>\n<p>Mon penchant pour la procrastination est tel que j\u2019ai pr\u00e9f\u00e9r\u00e9 \u00eatre s\u00fbre que, a minima, le premier billet (sur ggraph) \u00e9tait pr\u00eat, avant de faire des effets d\u2019annonce et de mettre en ligne cette intro\u2026<\/p>\n<p>Si vous \u00eates int\u00e9ress\u00e9s, donc, allez vite voir ce billet <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/graphes_et_tidyverse_ggraph\/\">ici<\/a>!<\/p>\n<h1>Un peu de lecture\u2026<\/h1>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.data-imaginist.com\/2017\/ggraph-introduction-layouts\/\">\u2026 sur ggraph<\/a> -par Thomas Lin Pederson, l\u2019auteur du package-<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.data-imaginist.com\/2017\/introducing-tidygraph\/\">\u2026 un billet de blog sur tidygraph<\/a> -par Thomas Lin Pederson-<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/shiring.github.io\/networks\/2017\/05\/15\/got_final\">\u2026 une illustration de l\u2019usage des graphes<\/a> -par Shirin Glander- sur un exemple \u201cfun\u201d \u00e0 savoir les donn\u00e9es g\u00e9n\u00e9alogiques des personnages de Game Of Thrones\u2026<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.rstudio.com\/resources\/videos\/tidying-up-your-network-analysis-with-tidygraph-and-ggraph\/\">\u2026 une pr\u00e9sentation vid\u00e9o sur l\u2019utilisation de tidygraph et ggraph<\/a> -par Thomas Lin Pederson-<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/rviews.rstudio.com\/2019\/03\/06\/intro-to-graph-analysis\/\">\u2026 un billet de blog sur les graphes \u201ctidy\u201d<\/a> -par Edgar Ruiz-, qui d\u00e9veloppe l\u2019exemple des r\u00e9seaux de gares fran\u00e7aises (nombre moyen de voyageurs)<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.jessesadler.com\/post\/network-analysis-with-r\/\">\u2026un billet de blog tr\u00e8s complet sur l\u2019analyse de r\u00e9seaux dans R<\/a> -par Jesse Sadler- expliquant pas-\u00e0-pas la construction du graphe, et exposant bri\u00e8vement la place de diff\u00e9rents packages li\u00e9s \u00e0 cette probl\u00e9matique dans R<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scottbot.net\/tag\/networks-demystified\/\">\u2026 une s\u00e9rie de billets de blogs sur les r\u00e9seaux<\/a>(en g\u00e9n\u00e9ral)<\/p>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Pourquoi s\u2019int\u00e9resser aux graphes? Voil\u00e0 quelques temps que je travaille sur les r\u00e9seaux sociaux et que, de ce fait, je me frotte \u00e0 la production de graphes. Il y a quelques ann\u00e9es (d\u00e9j\u00e0!) j\u2019avais \u00e9crit un premier billet de blog sur ce sujet ici. Depuis ce billet, il y a eu des progr\u00e8s de faits (non seulement par moi, mais par R aussi) et la manipulation\/production de graphes est devenue.. <a href=\"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/des-graphes-bien-peignes\/\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-1095","post","type-post","status-publish","format-standard","hentry","category-tous-les-posts"],"_links":{"self":[{"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/posts\/1095","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/comments?post=1095"}],"version-history":[{"count":10,"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/posts\/1095\/revisions"}],"predecessor-version":[{"id":1147,"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/posts\/1095\/revisions\/1147"}],"wp:attachment":[{"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/media?parent=1095"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/categories?post=1095"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/tags?post=1095"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}