Matière : TP Analyse des données avec le langage R ISIMA
Enseignant : Nesrine Blel & Malak Zaouali 1er semestre
Niveau : LFI-GLSI3 Année :2024-2025
TP6 : Manipulation des données avec tidyr
Objectifs :
Utiliser les fonctions de la bibliothèque tidyr.
Changer la structure des données en utilisant les fonctions :
pivot_longer()
pivot_wider()
separate()
unite()
Ces fonctions facilitent l'analyse statistique, la création de graphiques et la préparation
des données.
Manipulation avec la bibliothèque « tidyr » :
Soit le jeu de données « murders » :
1. Nous allons transformer les données d’un format long à format large en utilisant la
fonction « pivot_wider » pour avoir les types d'armes comme variables (colonnes).
names_from : prends le nom de la variable à pivoter.
values_from : prends les valeurs à utiliser pour remplir les nouvelles variables.
# Fonction “pivot-wider”:
R> murders_wide <- murders %>% pivot_wider(names_from = Weapon, values_from = Count)
2. Fusion de deux colonnes en utilisant la fonction « unite » :
#fusion de deux variables (colonnes)
R> murders_fus <- murders %>% unite("State_Year", State, Year)
3. Séparation de deux variables (colonnes) en utilisant la fonction « separate » :
#separation de deux variables (colonnes)
R> murders_separated <- murders %>% separate(State_Year, into = c("State", "Year"), sep =
"_")
4. Remplissage des valeurs manquantes en utilisant la fonction « fill » :
#remplissage des valeurs manquantes
R> murders_filled <- murders_wide %>% fill(c(Gun, Knife), .direction = "up")
#Vérifier s’il existe encore des valeurs manquantes
R> sum(is.na(murders_filled))
5. Transformation du jeu de données d’un format large vers un format long, en utilisant la
fonction « pivot_longer » :
#transformation de format large vers un format long
R> df_long <- murders_separate %>% pivot_longer(cols = c(Gun, Knife), names_to = "Weapon",
values_to = "Count" )
cols : Les colonnes à pivoter
names_to : Le nom de la nouvelle colonne où les noms des colonnes pivotées seront
stockés.
values_to : Le nom de la nouvelle colonne où les valeurs associées seront stockées .
NB : vous pouvez ajouter l’argument « values_drop_na = TRUE », où les lignes contenant
des valeurs NA dans les colonnes pivotées seront supprimées.
Exercice : (créer un nouveau jeu de données pour chaque question)
Soit le jeu de données « maladies » :
1. Créez un nouveau jeu de données ne contenant que les colonnes Maladie,
Symptom_Principal, Contagieuse et Total_Cas.
2. Extraire uniquement les lignes où la maladie est contagieuse et la gravité est "Élevée".
3. Trier les maladies par Total_Cas dans l'ordre décroissant.
4. Combinez les colonnes Symptom_Principal et Gravité en une seule colonne nommée
Symptome_Gravité.
5. Transformez les colonnes Symptom_Principal et Gravité en un format long avec deux
colonnes : Variable et Valeur.
6. Séparer la colonne Symptome_Gravité.
7. Transformer la colonne Gravité en format large en utilisant les valeurs de la colonne
Total_Cas.