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 utiliser l’opérateur de canalisation dans R (avec exemples)



Vous pouvez utiliser l’opérateur pipe ( %>% ) dans R pour « diriger » ensemble une séquence d’opérations.

Cet opérateur est le plus couramment utilisé avec le package dplyr dans R pour effectuer une séquence d’opérations sur une trame de données.

La syntaxe de base de l’opérateur pipe est la suivante :

df %>% 
  do_this_operation %>% 
  then_do_this_operation %>%
  then_do_this_operation ...

L’opérateur de canalisation transmet simplement les résultats d’une opération à l’opération suivante située en dessous.

L’avantage d’utiliser l’opérateur pipe est qu’il rend le code extrêmement facile à lire.

Les exemples suivants montrent comment utiliser l’opérateur pipe dans différents scénarios avec l’ensemble de données mtcars intégré dans R.

#view first six rows of mtcars dataset
head(mtcars)

                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

Exemple 1 : utiliser Pipe Operator pour résumer une variable

Le code suivant montre comment utiliser l’opérateur pipe ( %>% ) pour regrouper par la variable cyl , puis résumer la valeur moyenne de la variable mpg :

library(dplyr)

#summarize mean mpg grouped by cyl
mtcars %>% 
  group_by(cyl) %>% 
  summarise(mean_mpg = mean(mpg))

# A tibble: 3 x 2
    cyl mean_mpg
      
1     4     26.7
2     6     19.7
3     8     15.1

À partir du résultat, nous pouvons voir :

  • La valeur moyenne mpg pour les voitures avec une valeur cyl de 4 est de 26,7 .
  • La valeur moyenne mpg pour les voitures avec une valeur cyl de 6 est de 19,7 .
  • La valeur moyenne mpg pour les voitures avec une valeur cyl de 8 est de 15,1 .

Remarquez à quel point l’opérateur de canal facilite également l’interprétation du code.

En gros, il dit :

  • Prenez la trame de données mtcars .
  • Regroupez-le par la variable cyl .
  • Résumez ensuite la valeur moyenne de la variable mpg .

Exemple 2 : utiliser l’opérateur Pipe pour regrouper et résumer plusieurs variables

Le code suivant montre comment utiliser l’opérateur pipe ( %>% ) pour regrouper par les variables cyl et am , puis résumer la moyenne de la variable mpg et l’écart type de la variable hp :

library(dplyr)

#summarize mean mpg and standard dev of hp grouped by cyl and am
mtcars %>% 
  group_by(cyl, am) %>% 
  summarise(mean_mpg = mean(mpg),
            sd_hp = sd(hp))

# A tibble: 6 x 4
# Groups:   cyl [3]
    cyl    am mean_mpg sd_hp
        
1     4     0     22.9 19.7 
2     4     1     28.1 22.7 
3     6     0     19.1 9.18
4     6     1     20.6 37.5 
5     8     0     15.0 33.4 
6     8     1     15.4 50.2 

À partir du résultat, nous pouvons voir :

  • Pour les voitures avec une valeur cyl de 4 et une valeur am de 0, la valeur moyenne mpg est de 22,9 et l’écart type de la valeur hp est de 19,7 .
  • Pour les voitures avec une valeur cyl de 4 et une valeur am de 1, la valeur moyenne mpg est de 28,1 et l’écart type de la valeur hp est de 22,7 .

Et ainsi de suite.

Encore une fois, remarquez à quel point l’opérateur de canalisations facilite également l’interprétation du code.

En gros, il dit :

  • Prenez la trame de données mtcars .
  • Regroupez-le par les variables cyl et am .
  • Résumez ensuite la valeur moyenne de la variable mpg et l’écart type de la variable hp .

Exemple 3 : utiliser l’opérateur Pipe pour créer de nouvelles variables

Le code suivant montre comment utiliser l’opérateur pipe ( %>% ) avec la fonction mutate du package dplyr pour créer deux nouvelles variables dans le bloc de données mtcars :

library(dplyr)

#add two new variables in mtcars
new_mtcars <- mtcars %>%
                mutate(mpg2 = mpg*2,
                       mpg_root = sqrt(mpg))

#view first six rows of new data frame
head(new_mtcars)

   mpg cyl disp  hp drat    wt  qsec vs am gear carb mpg2 mpg_root
1 21.0   6  160 110 3.90 2.620 16.46  0  1    4    4 42.0 4.582576
2 21.0   6  160 110 3.90 2.875 17.02  0  1    4    4 42.0 4.582576
3 22.8   4  108  93 3.85 2.320 18.61  1  1    4    1 45.6 4.774935
4 21.4   6  258 110 3.08 3.215 19.44  1  0    3    1 42.8 4.626013
5 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2 37.4 4.324350
6 18.1   6  225 105 2.76 3.460 20.22  1  0    3    1 36.2 4.254409

À partir du résultat, nous pouvons voir :

  • La nouvelle colonne mpg2 contient les valeurs de la colonne mpg multipliées par 2.
  • La nouvelle colonne mpg_root contient la racine carrée des valeurs de la colonne mpg .

Encore une fois, remarquez à quel point l’opérateur de canalisations facilite également l’interprétation du code.

En gros, il dit :

  • Prenez la trame de données mtcars .
  • Créez une nouvelle colonne appelée mpg2 et une nouvelle colonne appelée mpg_root .

Connexe : Comment utiliser la fonction transmute() dans dplyr

Ressources additionnelles

Les didacticiels suivants expliquent comment utiliser d’autres fonctions courantes dans R :

Comment utiliser l’opérateur Tilde (~) dans R
Comment utiliser l’opérateur de signe dollar ($) dans R
Comment utiliser l’opérateur « NOT IN » dans R
Comment utiliser l’opérateur %in% dans R

Ajouter un commentaire

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