Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment créer rapidement des tableaux croisés dynamiques dans R



Dans Excel, les tableaux croisés dynamiques offrent un moyen simple de regrouper et de résumer les données.

Par exemple, si nous disposons de l’ensemble de données suivant dans Excel, nous pouvons utiliser un tableau croisé dynamique pour résumer rapidement les ventes totales par région :

Cela nous dit :

  • La région A a réalisé 51 ventes totales
  • La région B a réalisé 85 ventes totales
  • La région C a réalisé 140 ventes totales

Ou nous pourrions résumer par une autre mesure telle que les ventes moyennes par région :

Il s’avère que nous pouvons rapidement créer des tableaux croisés dynamiques similaires dans R en utilisant les fonctions group_by() et summary() du package dplyr .

Ce didacticiel fournit plusieurs exemples expliquant comment procéder.

Exemple : créer des tableaux croisés dynamiques dans R

Tout d’abord, créons le même ensemble de données dans R que celui que nous avons utilisé dans les exemples précédents à partir d’Excel :

#create data frame
df <- data.frame(region=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C'),
                 device=c('X', 'X', 'Y', 'X', 'Y', 'Y', 'X', 'X', 'Y', 'Y'),
                 sales=c(12, 18, 21, 22, 34, 29, 38, 36, 34, 32))

#view data frame
df

   region device sales
1       A      X    12
2       A      X    18
3       A      Y    21
4       B      X    22
5       B      Y    34
6       B      Y    29
7       C      X    38
8       C      X    36
9       C      Y    34
10      C      Y    32

Ensuite, chargeons le package dplyr et utilisons les fonctions group_by() et summary() pour regrouper par région et trouver la somme des ventes par région :

library(dplyr)

#find sum of sales by region
df %>%
  group_by(region) %>% 
  summarize(sum_sales = sum(sales))

# A tibble: 3 x 2
  region sum_sales
        
1 A             51
2 B             85
3 C            140

Nous pouvons voir que ces nombres correspondent aux nombres affichés dans l’exemple d’introduction Excel.

On peut également calculer les ventes moyennes par région :

#find average sales by region
df %>%
  group_by(region) %>% 
  summarize(mean_sales = mean(sales))

# A tibble: 3 x 2
  region  mean_sales
        
1 A             17  
2 B             28.3
3 C             35  

Encore une fois, ces chiffres correspondent aux chiffres affichés dans l’exemple Excel précédent.

Notez que nous pouvons également regrouper selon plusieurs variables. Par exemple, nous pourrions trouver la somme des ventes regroupées par région et type d’appareil :

#find sum of sales by region and device type
df %>%
  group_by(region, device) %>% 
  summarize(sum_sales = sum(sales))

# A tibble: 6 x 3
# Groups:   region [3]
  region device sum_sales
          
1 A      X             30
2 A      Y             21
3 B      X             22
4 B      Y             63
5 C      X             74
6 C      Y             66  

Ressources additionnelles

Comment effectuer une RECHERCHEV (similaire à Excel) dans R
Le guide complet : Comment regrouper et résumer des données dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *