• Menu
    • Nos Formations
    • Nos Prestations
    • Les Astuces
Skip to content
Astuces et scripts R
Astuces et scripts R
Primary Navigation Menu
Menu
  • Abcd’R
  • Tous les scripts
    • Voir les articles
    • Proposer un Article
  • Formation au logiciel R
  • Contact

Les dates de formations à R, éligibles au CPF sont en lignes !

Voir nos formations

Utiliser tidyr::pivot_wider pour transformer des données

Par vincent
Le janvier 21, 2025
Dans transformation
Tagged pivot_wider, transformation
Avec 0 Commentaire

Utiliser tidyr::pivot_wider pour transformer des données

Dans le traitement des données, il est souvent nécessaire de transformer la structure des données pour faciliter l’analyse. L’une des fonctions les plus utiles pour cela dans le package tidyr est pivot_wider(). Cette fonction permet de convertir des données de format long en format large, ce qui peut être particulièrement utile pour des analyses ou des visualisations.

Qu’est-ce que le format long et le format large ?

  • Format long : Chaque ligne représente une observation unique, avec des colonnes pour les variables et une colonne pour les valeurs. Par exemple, si nous avons des données sur les ventes de différents produits par mois, chaque ligne pourrait représenter une vente pour un produit donné à un moment donné.
  • Format large : Chaque ligne représente une entité unique, avec des colonnes pour chaque variable d’intérêt. Dans notre exemple de ventes, chaque produit aurait une colonne pour chaque mois, avec les ventes correspondantes.

Exemple concret

Imaginons que nous avons un jeu de données sur les ventes de deux produits (A et B) sur trois mois (janvier, février, mars). Voici comment nos données pourraient être structurées en format long :

library(tidyr)
library(dplyr)

# Création d'un jeu de données exemple
ventes_long <- data.frame(
  produit = c("A", "A", "A", "B", "B", "B"),
  mois = c("janvier", "février", "mars", "janvier", "février", "mars"),
  ventes = c(100, 150, 200, 80, 120, 160)
)

print(ventes_long)

Ce jeu de données ressemble à ceci :

  produit     mois ventes
1       A janvier    100
2       A février    150
3       A    mars    200
4       B janvier     80
5       B février    120
6       B    mars    160

Nous souhaitons transformer ce jeu de données en format large, où chaque produit a une colonne pour chaque mois.

Utilisation de pivot_wider()

Pour effectuer cette transformation, nous allons utiliser la fonction pivot_wider() :

ventes_large <- ventes_long %>%
  pivot_wider(names_from = mois, values_from = ventes)

print(ventes_large)

Explication du code

  • names_from = mois : Cette option indique que les noms des nouvelles colonnes (celles correspondant aux mois) doivent être pris de la colonne mois.
  • values_from = ventes : Cette option indique que les valeurs à remplir dans les nouvelles colonnes proviennent de la colonne ventes.

Après avoir exécuté ce code, notre jeu de données en format large ressemblera à ceci :

# A tibble: 2 x 4
  produit janvier février  mars
  <chr>     <dbl>   <dbl> <dbl>
1 A         100     150   200
2 B          80     120   160

Conclusion

La fonction pivot_wider() de tidyr est un outil puissant pour transformer des données de format long en format large. Cela facilite l’analyse et la visualisation des données. Dans cet article, nous avons vu un exemple concret de transformation de données de ventes, mais cette méthode peut être appliquée à une variété de jeux de données dans différents contextes. N’hésitez pas à explorer cette fonction pour vos propres analyses !

2025-01-21
Article précédent: Utiliser tidyr::pivot_longer pour réorganiser des tableaux
Article suivant: Validation croisée d’un modèle avec caret

Formation et consultance

Trouvez votre formation R sur-mesure chez ThinkR

-- Contactez-nous --

Catégories

Commentaires récents

  • Sébastien dans Comment effectuer des calculs de somme et de moyenne sur les colonnes ou les lignes d’une matrice ? colSums, rowSums, colMeans, rowMeans
  • Achraf Mazouz dans Comment effectuer des calculs de somme et de moyenne sur les colonnes ou les lignes d’une matrice ? colSums, rowSums, colMeans, rowMeans
  • Lou Sayd dans Coment alculer simplement la SEM dans R ? (Erreur Standard)
  • Nicolas dans Comment remplacer une chaîne de caractères ? string_replace_all(df, "pattern","replacement")
  • Vincent dans Comment comparer deux moyennes avec R grâce au test de Student ? t.test

Archives

Plan

  • Abcd’R
  • Tous les scripts
    • Proposer un Article
  • Ressources documentaires
    • Le logiciel R
    • Liste des interfaces graphiques
  • Formation au logiciel R
  • Contact
  • Politique de confidentialité

Flux ThinkR – Certification & Formation langage R

  • Déboguer une fonction avec debugonce() ou browser()
  • Dessinez pour gagner : L’impact des maquettes sur vos apps Shiny
  • Gérer et manipuler des dates en 2024 : une année pas comme les autres !
  • Retour vers le turfu : R, le web, et webR
  • Créer un package R et le versionner avec VSCode ? Mission possible !

Méta

  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR

ABCD'R (par ThinkR ) © 2025 - Confidentialité