Visualiser vos données avec R
2020-05-25
Bienvenue
Qu’est-ce que ce livre ?
Ce livre est un tour d’horizon des nombreuses possibilités qu’offre le langage de programmation R pour créer des graphiques. Les sources sont disponibles à l’adresse suivante: https://github.com/inSileco/VisualiseR.
Cet ouvrage est sous licence
Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Ce site internet est déployé GitHub Actions
Future et Collaboration
La première version de ce livre est centré sur faire des graphiques avec les
fonctionnalités de base de R mais le paysage R a bien changé au cours des
dernières années et beaucoup de packages sont devenus très populaires notamment
ggplot2
. Nous souhaitons augmenter cette version et introduire ces paquets.
Pour d’autres tours d’horizons des capacités graphiques que R offrent, le lecteur pourra se reporter à la lecture de différents ouvrages:
- Data Visualization par Kieran Healy https://socviz.co/
- Fundamentals of Data Visualization par Claus O. Wilke https://serialmentor.com/dataviz/
- R Graphics Cookbook: Practical Recipes for Visualizing Data par Winston Chang http://shop.oreilly.com/product/0636920023135.do
- ggplot2: Elegant Graphics for Data Analysis par Hadley Wickham https://www.springer.com/us/book/9780387981413
Toutes les contributions sont les bienvenues :smile:. Si vous êtes en dehors du groupe inSileco et que vous avez un compte GitHub, vous pouvez créer une fork ce répertoire et puis créer un pull request à partir de votre fork. Vous pouvez aussi directement éditer les fichiers en ligne.
Un chapitre est un fichier chapitre.Rmd
. Pour en éditer le contenu, l’étendre ou signaler des erreurs, le plus simple est d’ouvrir un issue en expliquant ce que vous souhaitez faire ou de détailler l’erreur. Si vous êtes collaborateurs sur le projet, vous pouvez vous assignez la tâche pour signaler au groupe ce sur quoi vous travailler.
Deux projets ont été organisés dans le répertoire GitHub (voir About project boards pour plus de détails). Pour les utiliser, il suffit de les mentionner au moment de l’ouverture d’un nouvel issue est ouvert, on peut en suite les éditer et suivre leur avancement dans l’onglet project.
Autres remarques:
- ce livre est édité avec bookdown, la documentation est très utile https://bookdown.org/yihui/bookdown/
code/chapN/
pour les scripts pour le chapitre N;img/chapN/
pour les figures/images non créés avec R pour le chapitre N;extdata/
pour les données externes;- ajouter les references dans
book.bib
; - suivre les bonnes pratiques pour le code: voir goodpractice
- donner des noms au code chunk afin d’avoir des repères pour faciliter le débogage.
Avant propos
Le logiciel R est un environnement de statistiques open-source librement distribué sous les termes de la licence publique générale GNU (GPL2). Très puissant pour réaliser n’importe quel type d’analyses statistiques, il s’avère aussi extrêmement performant dans la visualisation des données. D’ailleurs, dès son apparition au milieu des années quatre-vingt-dix, R était déjà muni d’un module permettant de produire des graphiques.
Utiliser le logiciel R pour produire des graphiques de haute qualité présente un certain nombre d’avantages. Premièrement, chaque composant du graphique peut être modifié, ce qui offre beaucoup de souplesse à l’utilisateur. Deuxièmement, il permet de réaliser l’ensemble du flux de travail (importation de données, manipulation de données, analyses statistiques, représentation graphique et exportation) sur un même support logiciel. Ce qui nous épargne l’apprentissage de différents outils à usage unique. Enfin, son utilisation va trouver toute sa justification lorsqu’une chaîne de traitements devra être répétée un grand nombre de fois (automatisation des tâches).
Au cours des dernières années, de nombreux packages ont été développés pour faciliter la production de graphiques sous R. Parmi eux, citons le package lattice
implémenté par Deepayan Sarkar. Ce package s’intéresse spécifiquement à la visualisation de données multivariées. Plus récemment, le package ggplot2
développé par Hadley Wickham a énormément gagné en popularité dans les laboratoires de recherches. Il repose sur la grammaire des graphiques (The Grammar of Graphics), ouvrage de référence écrit par Leland Wilkinson.
Bien que ces packages soient très intéressants, ils présentent l’inconvénient de dépendre d’un certain nombre de packages additionnels. De plus, leur prise en main peut s’avérer difficile puisqu’ils implémentent souvent des méthodes spécifiques, qui dans le cas de ggplot2
peut s’apparenter à un sous-langage R à part entière. L’idée ici n’est pas de dénigrer de tels outils, qui s’avèrent être tout de même puissants et complets. Non, notre objectif est de fournir les clés nécessaires pour produire de graphiques de haute qualité ne nécessitant aucune retouche supplémentaire via des logiciels comme , Adobe Illustrator ou encore Adobe Photoshop. En d’autres termes, vous apprendrez à réaliser des graphiques prêts à être soumis à une revue scientifique.
Cet enseignement est basé sur l’utilisation du système graphique traditionnel de R : le package graphics
. Il fait abstraction de tout autre package complémentaire. Le package graphics
fait partie des packages de base de R. Sa philosophie est à la fois simple et très puissante : n’importe quel graphique peut être généré sans avoir recours à des packages additionnels. Cela a néanmoins un coût : tout est possible, certes, mais avec un nombre de lignes parfois important, nous le concédons volontiers. Mais, c’est un très bon support pour découvrir l’univers des graphiques et faire connaissance avec leurs éléments constitutifs.
Ce document fait suite à une formation donnée en novembre 2014 à une trentaine d’étudiants gradués de l’Université du Québec à Rimouski. Il est structuré en sept parties. Alors que le premier chapitre illustre les grands types de graphiques réalisables sous R à l’aide des High-level plotting functions, le second vous permettra d’éditer un graphe en lui ajoutant des informations avec des Low-level plotting functions. Le troisième, probablement le plus long, passe en revue les différents paramètres graphiques. Ainsi, vous apprendrez à jouer avec les couleurs, modifier les marges, les axes, formater une fonte de caractères, etc. Les deux chapitres suivants, un peu plus avancés, vous permettront d’en savoir plus sur les périphériques graphiques et l’exportation de graphes, ainsi que sur la réalisation de graphiques composés (fonction layout()
). Le chapitre six est constitué de trois exercices que nous vous invitons à essayer de réaliser avant de consulter le code source présent au chapitre suivant.
Malgré ce programme alléchant, ce document est loin d’être exhaustif, loin s’en faut. Mais, nous voulons croire qu’il répondra à certaines de vos interrogations sur les graphiques sous R. Écrire un document sur les graphiques sous-entend que ce-dit document soit richement illustré. Et c’est le cas. Cependant, les graphiques produits par l’ensemble des lignes de code recensées ici ne sont pas tous présentés. Ceci dans un soucis de clarté de lecture, mais aussi de taille de document. C’est pourquoi nous vous invitons à ouvrir une session R en parallèle de votre lecture, et à recopier les lignes de code. N’hésitez pas à modifier certains paramètres pour voir leurs impacts. La connaissance commence par la curiosité.
Nicolas Casajus, Kevin Cazelles
Remerciements
A ajouter.
Par de nombreux aspects, nous visons dans un âge des données.
les visualiser est devenu un aspect important que ce soit en science ou dans le traitement de l’actualité.
Différent langages de programmation offre des libraries de visualisation des données, par example Python et JavaScript. R a ces propres atouts.
Visualiser les données peut permettre de comprendre mais aussi délivrer un message sur ces dernières. Pour le faire il faut une certaines maîtrise techniques et de la créativité. Sans maîtrise technique, il est difficile de donner corps à sa créativité.
- Ce livre est divisé en quatre parties:
- Dans une première partie, nous donnons des éléments de réflexion générale relative à la visualisation des données et R
- graphics
- grids
- web