Bienvenue
Dans ce module, vous allez explorer la popularité de différents prénoms au fil du temps. Pour réussir cette tâche, vous devrez maîtriser certains outils courants pour manipuler les données avec R :
- les tibbles et
View(), qui permettent d’inspecter vos données brutes select()etfilter(), qui permettent de selectionner des colonnes et des lignes d’un jeu de donnéesarrange(), qui vous permet de réordonner les lignes d’un jeu de données|>, qui organise votre code sous la forme de “pipes” faciles à déchiffer (un pipe peut être vu comme un flux dans lequel divers traitements sur les données sont enchaînés)mutate(),group_by(), etsummarize(), servent à calculer des statistiques descriptives
Ce sont quelques-unes des fonctions R les plus utiles pour la data science, et les modules qui suivent vous fourniront tout ce dont vous avez besoin pour apprendre à les manipuler.
Dans les modules, nous utiliserons un jeu de données nommé
prenoms, qui est fourni dans le package également nommé
{prenoms} made in ThinkR (voir ici
pour l’installer). Dans prenoms, vous trouverez des
informations sur presque tous les prénoms donnés aux enfants en France
métropolitaine depuis 1900.
Ce module présente prenoms ainsi qu’une nouvelle
structure de données qui facilite l’utilisation des données dans R : le
tibble.
En plus de {prenoms}, ce module utilise les packages de base du
tidyverse, notamment {ggplot2}, {tibble} et {dplyr}. Tous ces
packages ont été préinstallés mais ils n’ont pas été préchargés.
Cliquez sur le bouton “Suivant” pour commencer.
prenoms
Charger {prenoms}
Avant de commencer, apprenons-en un peu plus sur nos données. Le jeu
de données prenoms est fourni dans le package
{prenoms}. Le package est préinstallé pour vous.
Cependant, nous n’avons pas pré-chargé {prenoms}, ni
aucun autre package d’ailleurs.
Qu’est-ce que cela veut dire ? Dans R, chaque fois que vous souhaitez
utiliser un package qui ne fait pas partie de R base, vous devez charger
le package avec la commande library(). Tant que vous
n’aurez pas chargé un package, R ne pourra pas trouver les jeux de
données et les fonctions qu’il contient. Par exemple, si nous demandions
à R d’afficher le jeu de données prenoms, qui provient du
package {prenoms}, nous obtiendrions le message
ci-dessous : R ne peut pas trouver le jeu de données car nous n’avons
pas chargé le package nécessaire.
## # A tibble: 3,921,000 × 6
## year sex name n dpt prop
## <int> <chr> <chr> <int> <chr> <dbl>
## 1 1900 F Adrienne 9 01 0.00284
## 2 1900 F Adèle 5 01 0.00158
## 3 1900 F Aimée 7 01 0.00221
## 4 1900 F Alice 24 01 0.00757
## 5 1900 F Alphonsine 5 01 0.00158
## 6 1900 F Amélie 8 01 0.00252
## 7 1900 F Anaïs 5 01 0.00158
## 8 1900 F Andrée 6 01 0.00189
## 9 1900 F Angèle 21 01 0.00663
## 10 1900 F Anna 12 01 0.00379
## # ℹ 3,920,990 more rows
Pour charger le package {prenoms}, vous devez exécuter
la commande library(prenoms). Après avoir chargé un
package, R pourra trouver son contenu jusqu’à ce que vous fermiez
R. En revanche, la prochaine fois que vous ouvrirez R, vous devrez
recharger le package si vous souhaitez le réutiliser.
Cela peut sembler un inconvénient, mais le choix des packages à charger permet de garder le contrôle sur ce qui se passe dans votre environnement de travail avec R.
Dans le bloc de code ci-dessous, chargez {prenoms} (le package) puis
ouvrez la page d’aide de prenoms (le jeu de données).
Assurez-vous de lire la page d’aide avant de continuer.
library(prenoms)
?prenoms
Les données
Maintenant que vous en savez un peu sur le jeu de données, examinons
son contenu. Si vous exécutez prenoms sur votre console R,
vous obtiendrez une sortie qui ressemble à ceci :
prenoms
#> 155 1900 M Philippe 5 01 0.0015777848
#> 156 1900 M Pierre 47 01 0.0148311770
#> 157 1900 M Prosper 3 01 0.0009466709
#> 158 1900 M Raoul 3 01 0.0009466709
#> 159 1900 M René 14 01 0.0044177974
#> 160 1900 M Robert 6 01 0.0018933417
#> 161 1900 M Roger 3 01 0.0009466709
#> 162 1900 M Tony 3 01 0.0009466709
#> 163 1900 M Victor 18 01 0.0056800252
#> 164 1900 F Adèle 11 02 0.0021829728
#> 165 1900 F Adelina 4 02 0.0007938083
#> 166 1900 F Adeline 4 02 0.0007938083
#> [ reached 'max' / getOption("max.print") -- omitted 3763818 rows ]
Oups ! Qu’est-ce qui se passe?
Affichage de grandes données
prenoms est un gros jeu de données, et R n’est pas bien
équipé pour afficher le contenu de grande taille. R affiche autant de
lignes que possible avant que votre mémoire tampon ne soit saturée.
Quand cela arrive, R s’arrête, vous laissant regarder une section
arbitraire de vos données.
Vous pouvez éviter ce comportement en transformant votre bloc de données en tibble.
tibbles
Qu’est-ce qu’un tibble ?
Un tibble est un type spécial de table. R affiche les tibbles de manière astucieuse chaque fois que le package tibble est chargé. R n’affichera alors uniquement que les dix premières lignes d’un tibble ainsi que toutes les colonnes qui tiennent dans la fenêtre de votre console. R ajoute également des informations récapitulatives utiles sur les composants tibble, telles que les types de données de chaque colonne et la taille totale du jeu de données.
Chaque fois que vous n’avez pas le package {tibble}
chargé, R affichera le tibble comme s’il s’agissait d’un
data.frame. En fait, les tibbles sont des
data.frames, mais dans une version améliorée.
Vous pouvez penser à la différence entre l’affichage du data.frame et l’affichage du tibble comme ceci :

as_tibble()
Vous pouvez transformer un data.frame en tibble avec la fonction
as_tibble() du package {tibble}, par ex.
as_tibble(voitures). Cependant, prenoms est
déjà un tibble. Pour l’afficher correctement, il vous suffit donc juste
de charger le package {tibble}.
Pour voir ce que nous voulons dire, utilisez library()
pour charger le package {tibble} dans le bloc ci-dessous,
puis appelez prenoms.
library(tibble)
prenoms
Vous n’avez pas à vous soucier des tibbles dans ces modules. Dans les futurs modules, nous convertirons automatiquement chaque jeu de données en un tableau interactif. Cependant, envisagez de faire des tibbles dès que possible quand vous travaillez dans R.
View()
Et si vous souhaitez inspecter les portions restantes d’un tibble ?
Pour voir l’intégralité du tibble, utilisez la commande
View(). R lancera une fenêtre qui affiche l’intégralité du
jeu de données sous forme déroulante, à la maniere d’un tableur. Par
exemple, le code ci-dessous lancera une visionneuse de données dans
RStudio.
View(prenoms)
View() fonctionne conjointement avec le logiciel à
partir duquel vous exécutez R : View() ouvre l’éditeur de
données fourni par ce logiciel. Malheureusement, puisque ce module de
cours n’est pas délivré avec un éditeur de données, vous ne pourrez pas
utiliser View() ici (si vous souhaitez expérimenter cette
commande quand même, vous pouvez essayer dans RStudio).
{tidyverse}
Le tidyverse
Le package {tibble} est l’un des nombreux packages du “tidyverse”. Les
packages du tidyverse partagent une philosophie commune et sont conçus
pour bien fonctionner ensemble. Par exemple, dans ce module, vous
utiliserez le package {tibble}, le package
{ggplot2} et le package {dplyr}, qui
appartiennent tous au tidyverse.
Le package {tidyverse}
Lorsque vous utilisez des packages du tidyverse, vous pouvez vous faciliter la vie en utilisant le package {tidyverse}. Ce package fournit un raccourci pour installer et charger la liste complète des packages du tidyverse :
Installer le tidyverse
Considérez le package {tidyverse} comme un espace
réservé pour les packages qui sont dans le “tidyverse”. En soi, le
package {tidyverse} ne fait pas grand-chose, mais lorsque
vous l’installez, il demande à R d’installer tous les autres packages du
tidyverse en même temps. En d’autres termes, lorsque vous exécutez
install.packages("tidyverse"), R installe les packages
suivants pour vous en une seule étape :
- {ggplot2}
- {dplyr}
- {tidyr}
- {readr}
- {purrr}
- {tibble}
- {hms}
- {stringr}
- {lubridate}
- {forcats}
- {DBI}
- {haven}
- {jsonlite}
- {readxl}
- {rvest}
- {xml2}
- {modelr}
- {broom}
Charger le tidyverse
Lorsque vous chargez {tidyverse} avec
library("tidyverse"), il demande à R de charger les
packages du tidyverse les plus couramment utilisés. Ceux-ci
sont :
- {ggplot2}
- {dplyr}
- {tidyr}
- {readr}
- {purrr}
- {tibble}
Vous pouvez charger les packages du tidyverse les moins couramment
utilisés de la manière habituelle, en exécutant
library(<nom du package>) pour chacun d’eux.
Essayons cela. Nous utiliserons les packages {ggplot2} et {dplyr} plus loin dans ce module. Utilisons le package {tidyverse} pour les charger dans le bloc ci-dessous :
library("tidyverse")
Quiz
Récapitulatif
Les tibbles et le package {tidyverse} en général sont deux outils qui vous facilitent la vie dans R. En effet, ces modules préchargent des packages pour vous, et ils enveloppent les jeux de données dans un tableau interactif à afficher (du moins, les modules des amorces qui suivent le feront). Cependant, vous serez ravis d’utiliser les tibbles et le package {tidyverse} lorsque vous quitterez les modules de cours et pour commencer votre propre travail avec R à l’intérieur de RStudio.
Ce module a également présenté le jeu de données
prenoms. Dans le module suivant, vous utiliserez ce jeu de
données pour afficher graphiquement la popularité de prénoms au fil du
temps (peut-être même le vôtre !). En cours de route, vous apprendrez à
filtrer et à créer des sous-ensembles de données dans R.