Objectifs de la séance

  • Manipulation de données
    • Importer des données dans un objet R :
      • différencier l’objet R du fichier contenant les données,
      • vérifier la bonne importation.
    • Changer les libellés des variables
  • Visualisation de données
    • Représentation d’une variable qualitative
    • Représentation d’une variable quantitative
  • Analyse de données
    • Faire la distinction entre variable quantitative et qualitative

Exercices

Importation de données dans R

Créer l’environnement de travail

Télécharger les données de manchots de Palmers penguins.csv disponibles sur l’onglet Scripts et données de la page d’accueil du module ainsi que le fichier TD1_script.R dans le répertoire Téléchargement par défaut.

Créer un nouveau répertoire intitulé ds_TD contenant les fichiers penguins.csv et TD1_script.R : ce répertoire est appelé répertoire de travail (working directory)

Créer un projet dans RStudio à partir du répertoire ds_TD.

Ouvrir le fichier TD1_script.R dans RStudio.

Remarque : le fichier TD1_script.R est appelé script. C’est un fichier au format texte contenant des lignes de commandes organisées, dont l’interprétation réalise une analyse de données (production de graphiques ou de résultats numériques pour éclairer une problématique).

Les lignes qui commencent par # ne sont pas interprétées par R. Elles permettent de faire des commentaires et donc de contextualiser le script. Dans le cadre du TD, il est utile d’utiliser ce mode de commentaires pour prendre des notes.

Utiliser un script R pour importer des données

Exécuter la première ligne du script.

  • Que constatez-vous ?

Exécuter la ligne suivante.

  • Un objet apparaît dans l’environnement, quel est son nom ?
  • Que fait la fonction read.table ?
  • Quels arguments est-il important de spécifier pour une importation réussie ?

La commande summary appliquée à l’objet contenant les données importées, ici penguins, permet d’obtenir une synthèse des données, variable par variable. Il est important de s’assurer que toutes les variables ont bien été importées et qu’elles l’ont été au bon format, soit quantitatif, soit catégoriel.

  • Utiliser la fonction summary pour vérifier que la nature des variables telle que vous l’appréciez est conforme à la nature des variables telle que déclarée dans R.

Utiliser une fonction d’un package pour renommer les variables

R est un logiciel collaboratif. Chacun peut contribuer à enrichir les fonctions de base en proposant un ensemble de fonctions appelé package. Pour utiliser un package, il faut l’installer (une seule fois avant une première utilisation) et le charger (dans toutes les sessions de travail prévoyant son utilisation).

  • Installer le package tidyverse à partir du menu.
  • Ajouter le chargement du package dans le script TD1_script.R grâce à la fonction library( ) appliquée au package désiré :

On peut utiliser une fonction du package tidyverse pour lire le fichier `penguins.csv’ au lieu d’une fonction de base.

library(tidyverse)
## Lecture tidy
penguins.dta <- read_delim(file = 'penguins.csv', delim = ';')

On souhaite traduire certains libellés des variables de l’anglais vers le français. C’est possible avec la fonction rename (issue du package tidyverse).

  • Que fait le code suivant ?
## R tidy
penguins.fr <- penguins.dta %>%  
  rename(longueur_bec = bill_length_mm, 
         epaisseur_bec = bill_depth_mm)
  • Renommer de la même manière species en espece, island en ile, body_mass_g en poids, flipper_length_mm en longueur_nageoire, sex en sexe et year en annee (il faut éviter les caractères accentués et ne pas utiliser les espaces dans les noms de variables).

Visualisation de données

Utiliser un package pour produire des graphiques

De nombreuses fonctions de visualisation sont disponibles dans le package ggplot2.

  • Installer puis charger le package ggplot2.

Répartition des valeurs d’une variable qualitative : diagramme en bâtons

La répartition des valeurs d’une variable qualitative peut être visualisée à l’aide d’un diagramme en bâtons (barplot).

  • Ajouter la commande ci-dessous dans votre script R puis l’exécuter.
penguins.fr %>% ggplot() +
  aes(x = espece) +
  geom_bar()

La fonction aes permet de spécifier ce qui est représenté. Ici aes( x = espece) indique que la variable espece sera représentée sur l’abscisse du graphique. L’ordonnée n’étant pas spécifiée, le comportement par défaut de la fonction geom_bar sera utilisé et l’ordonnée correspond ainsi à l’effectif (le nombre d’individus) de chaque classe.

Répartition des valeurs d’une variable quantitative : histogramme

La distribution des valeurs d’une variable quantitative peut être représentée à l’aide d’un histogramme.

  • En vous aidant de la commandant précédente, proposer une commande pour dessiner un histogramme des longueurs de bec (fonction geom_histogram).

Par défaut, sans autre indication dans la fonction aes, l’ordonnée de l’histogramme indique l’effectif de manchots par classe de valeurs. Dans la définition mathématique de l’histogramme, les aires de chaque barre sont proportionnelles aux fréquences (proportions d’individus dans chaque classe), l’ordonnée représentant alors une densité. Pour obtenir ce graphique, il faut modifier le comportement par défaut de la fonction aes pour spécifier l’ordonnée explicitement avec un mot réservé ..density...

penguins.fr %>% ggplot() +
  aes(x = longueur_bec) +
  geom_histogram(aes(y = after_stat(density)))

Il est possible de modifier le nombre de classes de l’histogramme grâce à l’argument bins de la fonction geom_histogram.

  • Proposer une représentation de la distribution des longueurs de bec qui ne contient que 10 classes de valeurs.

La couleur de fond de l’histogramme peut être modifiée grâce à l’argument fill.

penguins.fr %>% ggplot() +
  aes(x = longueur_bec) +
  geom_histogram(aes(y = after_stat(density)), fill = 'green')

La couleur peut être choisie plus harmonieusement et spécifiée sous format html. Par exemple :

penguins.fr %>% ggplot() +
  aes(x = longueur_bec) +
  geom_histogram(aes(y = after_stat(density)), fill = '#59C9A5')

Enfin, il est possible de modifier la couleur des traits

penguins.fr %>% ggplot() +
  aes(x = longueur_bec) +
  geom_histogram(aes(y = after_stat(density)), fill = '#59C9A5',
                 col = '#5C6D70')
  • Proposer une représentation de la distribution des longueurs de bec qui ne contient que 10 classes de valeurs.

Il est possible d’enregistrer l’objet graphique produit par R :

p1 <-penguins.fr %>% ggplot() +
  aes(x = longueur_bec) +
  geom_histogram(aes(y = after_stat(density)))
p1

Il est facile d’ajouter un titre grâce à la fonction ggtitle.

p1 + 
  ggtitle('Distribution des longueurs de becs chez les manchots')

Terminer une session de travail

Il est essentiel de nettoyer (ne garder que les commandes pertinentes) et de sauvegarder le script final pour pouvoir le réutiliser lors d’une séance prochaine.

  • Enregistrer votre script avant de quitter R.

Le vocabulaire de la séance

Commandes R

  • geom_bar
  • geom_histogram
  • ggplot
  • ggtitle
  • library
  • read.table
  • rename
  • summary

Environnement R

  • projet
  • script
  • fonction
  • argument
  • package

Statistique

  • Variable quantitative
  • Variable qualitative
  • Distribution d’une variable