Visualisation de données avec R et Shiny

Visualiser ses données, c’est un peu THE partie la plus importante dans la gestion d’un projet (on parle souvent de « Data Visualisation » ou Dataviz »). Que ce soit en amont pour comprendre un peu comment sont agencées les données ou en aval pour qu’un décideur soit à même de prendre une décision en toute connaissance de causes, il y a toujours un moment où il va falloir réfléchir à la façon d’afficher et présenter ses données. Si comme moi, vous aimez travailler avec R, vous partez avec un support très solide et très complet pour faire de la visualisation de données. L’objectif de ce post n’est pas de proposer un tutoriel ; il y a déjà énormément de ressources qui existent et ça prendrait bien trop de temps au vu de l’étendue des possibilités qui s’offrent à nous. Je vous partage plutôt des sites existants pour cartographier des données avec R que je trouve très sympas (avec quelques sites pour visualiser des données spatialisées forcément !), et je vais en profiter pour vous introduire à Shiny pour réaliser des tableaux de bords interactifs très puissants et facilement partageables.

Data visualisation avec R

Des packages pour faire de la Dataviz sur R, il y en a un certain nombres : maptools, ggplot2, ggmap, leaflet, ggplotly  tmap, RColorBrewer, Shiny… Un des plus connus et des plus largement utilisés, ça reste quand même le package ggplot2 proposé par Hadley Wickham (avec un super bouquin « ggplot2 – Elegant graphics for Data Analysis ». Pour travailler avec ggplot2, vous trouverez quelques sites de référence qui vous apprendront à manipuler toutes les fonctions implémentées (https://ggplot2.tidyverse.org/reference/index.html; et le site « Statistical tools for high-throughput data analysis qui m’a aidé bien des fois : http://www.sthda.com/french/wiki/ggplot2)

Si vous souhaitez commencer par voir une galerie assez impressionnante des types de graphiques que vous pouvez produire sur R et notamment avec ggplot2, je vous invite à foncer sur le site de Yann Holtz (https://www.yan-holtz.com/index.html). Vous y trouverez deux sous-sites qui vous permettront notamment de choisir les graphiques les plus appropriés à vos données pour en faciliter la visualisation ! https://www.data-to-viz.com/ et https://www.r-graph-gallery.com/

Pour continuer dans la même veine et, pour les motivés, de commencer à se former, je vous propose les liens suivants :

Le couplage de R et Shiny

Shiny est un package pour créer des applications dynamiques sur le web depuis R. C’est vraiment un outil super puissant pour présenter ses données de façon interactive à des collègues, partenaires, clients et très simplement en leur partageant juste l’URL de votre application sur le web. Pour utiliser Shiny dans R, il vous suffira de créer deux codes distincts. Dans le premier code « ui.R » [ui pour User Interface ; le .R signifie que c’est du code R], il vous faudra renseigner en lignes de code la forme de votre tableau de bord, notamment le type de tableaux/graphiques/cartes que vous voulez voir afficher ainsi que leur position dans le tableau de bord. Dans le deuxième code « server.R », il faudra renseigner en ligne de codes le fond de votre tableau de bord, c’est-à-dire ce qu’il y a dans les tableaux/graphiques/cartes que vous voulez voir afficher, les données utilisées, les étapes de pré-traitement que vous pourriez avoir mis en place. Ce deuxième code est en fait très proche de ce que vous auriez réalisé si vous n’aviez pas utilisé Shiny.

Pour en savoir un peu plus sur la puissance de Shiny, je vous invite à aller regarder les galeries de projets existants (voir les liens ci-dessous). Les codes sont disponibles ce qui vous permet de vraiment comprendre comment fonctionnent les applications !! Quelques liens de qualité :

Dans le cadre de mon travail, j’ai eu plusieurs fois l’occasion de travailler avec Shiny. Ci-dessous, vous trouverez une image de l’application dans lequel l’objectif était de délimiter des zones de production homogènes à l’intérieur d’une parcelle agricole. L’utilisateur avait la possibilité de paramétrer l’algorithme (nombre et taille des zones) pour arriver à la délimitation la plus pertinente pour lui.

Laisser un commentaire

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

43 + = 47