Chapitre 12 R-Express 30’ ☕
Il est peut être intéressant d’aborder ce chapitre en amont d’une formation Nous présentons ici comment être opérationnel sur R en quelques clics et surtout sans connaissance du langage ! Attention tout de même, vous ne pourrez pas faire illusion bien longtemps car il faudra revenir au fondamentaux du langage pour aller plus loin. Ici nous allons à droit au but. 30’ Top chrono !
12.1 Aller hop ! Importez des données
RStudio propose une interface permettant d’importer un fichier de données de manière interactive. Pour y accéder, dans l’onglet Environment, cliquez sur le bouton Import Dataset. On a ensuite le choix du format de fichier qu’on souhaite importer.
Sélectionnez From Text (base)…. Une nouvelle fenêtre s’affiche :
Il vous suffit d’indiquer le fichier à importer dans le champ File/URL tout en haut (vous pouvez même indiquer un lien vers un fichier distant via HTTP). Importez le fichier tv_shows.csv
qui décrit les notes d’évaluation des films et séries disponibles sur diverses plateformes de diffusion en continu. Un aperçu s’ouvre dans la partie Data Preview et vous permet de vérifier si l’import est correct. Le champ Name qui est modifiable correspondra au nom de votre tableau dans RStudio. Cliquez ensuite sur Import. RStudio vous propose une vue de votre tableau.
12.2 Manipulez votre tableau
12.2.1 Dans une vue
Après l’importation, vous pouvez accéder à la vue de votre tableau en cliquant sur votre objet dans la fenêtre d’environnement
Vous pouvez ensuite effectuer des tris et des filtres en naviguant sur la vue. Dans l’exemple ci-dessous nous avons filtré sur l’année 2019, filtré les films disponibles sur Netflix et trié selon la note des utilisateurs en colonne IMDb
.
12.2.2 Avec dplyr
Bon le problème de manipuler un tableau dans une vue est qu’on ne peut pas le modifier. Pour cela, nous allons commencer à coder en R avec un package qui nous facilite la vie. Mais c’est quoi un package ? R étant un logiciel libre, il bénéficie d’un développement communautaire riche et dynamique. L’installation de base de R permet de faire énormément de choses, mais le langage dispose en plus de packages permettant d’ajouter facilement de nouvelles fonctionnalités. La plupart des packages sont développées et maintenues par la communauté des utilisateurs de R, et diffusées via un réseau de serveurs nommé CRAN (Comprehensive R Archive Network).
Pour installer un package, si on dispose d’une connexion Internet, on peut utiliser le bouton Install de l’onglet Packages de RStudio.
Renseignez le nom du package dplyr
dans le champ concerné puis cliquez sur Install.
Cela peut durer quelques secondes. Voilà, vous avez enfin le package dplyr
dans la liste des packages déjà installés. Nous n’aurons plus à réitérer cette opération les prochaines fois.
Nous allons maintenant créer un script pour que toutes nos commandes soient sauvegardées et réutilisables. Pour créer un script, il suffit de sélectionner le menu File, puis New file et R script ou tout simplement utiliser le raccourci Ctrl + Shift + N
.
Voici la première commande que nous allons saisir. Même si le package dplyr
est déjà installé, il faut que RStudio le charge en mémoire. Écrivez cette ligne dans votre script :
library(dplyr)
Vous avez écrit une ligne de commande mais il faut encore l’exécuter. Pour cela, sélectionnez votre code à exécuter puis cliquer sur le bouton Run dans la barre d’outils juste au-dessus de la zone d’édition du script. On peut aussi utiliser le raccourci clavier Ctrl + Entrée
. On peut désormais utiliser les fonctionnalités du package dplyr
.
12.2.3 Sélectionner certaines colonnes
La fonction select
permet de sélectionner certaines colonnes d’un tableau.
On va construire un nouveau tableau appelé tv_shows_select avec uniquement les colonnes Title, Year, Age et IMDb.
<- select(tv_shows, Title, Year, Age, IMDb) tv_shows_select
Title | Year | Age | IMDb |
---|---|---|---|
Breaking Bad | 2008 | 18+ | 9.5 |
Stranger Things | 2016 | 16+ | 8.8 |
Money Heist | 2017 | 18+ | 8.4 |
Sherlock | 2010 | 16+ | 9.1 |
Better Call Saul | 2015 | 18+ | 8.7 |
The Office | 2005 | 16+ | 8.9 |
Black Mirror | 2011 | 18+ | 8.8 |
Supernatural | 2005 | 16+ | 8.4 |
Peaky Blinders | 2013 | 18+ | 8.8 |
Avatar: The Last Airbender | 2005 | 7+ | 9.2 |
The Walking Dead | 2010 | 18+ | 8.2 |
Dark | 2017 | 16+ | 8.7 |
Ozark | 2017 | 18+ | 8.4 |
Attack on Titan | 2013 | 16+ | 8.8 |
Narcos | 2015 | 18+ | 8.8 |
Fullmetal Alchemist: Brotherhood | 2009 | 18+ | 9.1 |
Community | 2009 | 7+ | 8.5 |
Mindhunter | 2017 | 18+ | 8.6 |
Parks and Recreation | 2009 | 16+ | 8.6 |
Dexter | 2006 | 18+ | 8.6 |
Votre nouveau tableau apparaît dans la fenêtre Environnement.
12.2.4 Ajouter des filtres
La fonction filter
permet de construire des filtres. On va construire un nouveau tableau appelé tv_shows_filter en partant du tableau précédent. On ajoute un filtre sur la variable Year
en ne conservant que les films de 2019.
<- filter(tv_shows_select, Year == 2019) tv_shows_filter
Title | Year | Age | IMDb |
---|---|---|---|
The Witcher | 2019 | 18+ | 8.3 |
When They See Us | 2019 | 18+ | 8.9 |
After Life | 2019 | 18+ | 8.5 |
Dead to Me | 2019 | 18+ | 8.1 |
Unbelievable | 2019 | 18+ | 8.4 |
Sex Education | 2019 | 16+ | 8.3 |
Kingdom | 2019 | 18+ | 8.4 |
Love, Death & Robots | 2019 | 18+ | 8.5 |
The Umbrella Academy | 2019 | 16+ | 7.9 |
Russian Doll | 2019 | 18+ | 7.9 |
Our Planet | 2019 | 7+ | 9.3 |
The Dark Crystal: Age of Resistance | 2019 | 7+ | 8.5 |
The Spy | 2019 | 18+ | 7.9 |
Crash Landing on You | 2019 | 16+ | 8.8 |
Delhi Crime | 2019 | NA | 8.5 |
Don’t F**k with Cats: Hunting an Internet Killer | 2019 | 18+ | 8.1 |
Living with Yourself | 2019 | 18+ | 7.2 |
The Order | 2019 | 18+ | 6.9 |
Marianne | 2019 | 18+ | 7.5 |
The Society | 2019 | 18+ | 7.0 |
12.2.5 Trier un tableau
La fonction arrange
permet de construire des filtres. On va construire un nouveau tableau appelé tv_shows_sort en partant du tableau précédent. On tri les films de la meilleure note IMDb
à la plus mauvaise.
<- arrange(tv_shows_filter, desc(IMDb)) tv_shows_sort
Title | Year | Age | IMDb |
---|---|---|---|
Our Planet | 2019 | 7+ | 9.3 |
The Planets | 2019 | all | 9.1 |
The Imagineering Story | 2019 | 7+ | 9.1 |
When They See Us | 2019 | 18+ | 8.9 |
The Untamed | 2019 | 7+ | 8.9 |
Vinland Saga | 2019 | NA | 8.9 |
Crash Landing on You | 2019 | 16+ | 8.8 |
Demon Slayer: Kimetsu no Yaiba | 2019 | 18+ | 8.8 |
The Promised Neverland | 2019 | 18+ | 8.8 |
The Boys | 2019 | 18+ | 8.7 |
The Mandalorian | 2019 | 7+ | 8.7 |
Formula 1: Drive to Survive | 2019 | 16+ | 8.6 |
The Family Man | 2019 | 16+ | 8.6 |
Prairie Dog Manor | 2019 | NA | 8.6 |
After Life | 2019 | 18+ | 8.5 |
Love, Death & Robots | 2019 | 18+ | 8.5 |
The Dark Crystal: Age of Resistance | 2019 | 7+ | 8.5 |
Delhi Crime | 2019 | NA | 8.5 |
Taco Chronicles | 2019 | 7+ | 8.5 |
The First 48 Presents: Homicide Squad Atlanta | 2019 | 16+ | 8.5 |
Après ces 3 opérations select
, filter
et arrange
, vous devez avoir ces tableaux dans votre environnement.
12.3 Des graphiques en 3 clics avec esquisse
Le package esquisse
permet de construire des graphiques en quelques clics.
Il faut aussi installer ce package, cette fois-ci on le fait directement en exécutant une seule et unique fois cette commande dans le script :
install.packages("esquisse")
Voilà, puis executer ces commandes :
library(esquisse)
esquisser(tv_shows_sort)
Une fenêtre s’ouvre dans lequel vous pouvez construire quelques graphiques, les personnalisés et les exporter avec le code associé.