Hoe de pipe operator in r te gebruiken (met voorbeelden)


U kunt de pipe-operator ( %>% ) in R gebruiken om een reeks bewerkingen samen te ‚pipe’en.

Deze operator wordt meestal gebruikt met het dplyr- pakket in R om een reeks bewerkingen op een dataframe uit te voeren.

De basissyntaxis van de pipe-operator is:

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

De leidingbeheerder geeft eenvoudigweg de resultaten van de ene handeling door aan de volgende handeling daaronder.

Het voordeel van het gebruik van de pipe operator is dat de code hierdoor zeer gemakkelijk te lezen is.

De volgende voorbeelden laten zien hoe u de pipe-operator in verschillende scenario’s kunt gebruiken met de mtcars- dataset ingebouwd in 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

Voorbeeld 1: Gebruik Pipe Operator om een variabele samen te vatten

De volgende code laat zien hoe u de pipe-operator ( %>% ) gebruikt om te groeperen op de cyl- variabele en vervolgens de gemiddelde waarde van de mpg- variabele samen te vatten:

 library (dplyr)

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

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

Uit het resultaat kunnen we zien:

  • De gemiddelde mpg-waarde voor auto’s met een cilinderwaarde van 4 is 26,7 .
  • De gemiddelde mpg-waarde voor auto’s met een cilinderwaarde van 6 is 19,7 .
  • De gemiddelde mpg-waarde voor auto’s met een cilinderwaarde van 8 is 15,1 .

Merk op hoe de pijpoperator het interpreteren van de code ook eenvoudiger maakt.

Kortom, hij zegt:

  • Neem het mtcars -dataframe.
  • Groepeer het op de cil -variabele.
  • Vat vervolgens de gemiddelde waarde van de mpg- variabele samen.

Voorbeeld 2: Gebruik de Pipe Operator om meerdere variabelen te groeperen en samen te vatten

De volgende code laat zien hoe u de pipe-operator ( %>% ) kunt gebruiken om te groeperen op de cyl- en am -variabelen, en vervolgens het gemiddelde van de mpg- variabele en de standaardafwijking van de hp- variabele samen te vatten:

 library (dplyr)

#summarize mean mpg and standard dev of hp grouped by cyl and am
mtcars %>% 
  group_by(cyl, am) %>% 
  summarize(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 

Uit het resultaat kunnen we zien:

  • Voor auto’s met een cilinderwaarde van 4 en een am-waarde van 0 is de gemiddelde mpg-waarde 22,9 en de standaardafwijking van de pk-waarde 19,7 .
  • Voor auto’s met een cilinderwaarde van 4 en een am-waarde van 1 is de gemiddelde mpg-waarde 28,1 en de standaardafwijking van de pk-waarde 22,7 .

Enzovoort.

Merk opnieuw op hoe de pijpoperator het interpreteren van de code ook gemakkelijker maakt.

Kortom, hij zegt:

  • Neem het mtcars -dataframe.
  • Groepeer het op de variabelen cil en am .
  • Vat vervolgens de gemiddelde waarde van de mpg- variabele en de standaardafwijking van de hp- variabele samen.

Voorbeeld 3: Gebruik de Pipe Operator om nieuwe variabelen te maken

De volgende code laat zien hoe u de pipe-operator ( %>% ) gebruikt met de muteerfunctie in het dplyr- pakket om twee nieuwe variabelen in het mtcars-dataframe te maken:

 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

Uit het resultaat kunnen we zien:

  • De nieuwe mpg2- kolom bevat de waarden uit de mpg- kolom vermenigvuldigd met 2.
  • De nieuwe mpg_root- kolom bevat de vierkantswortel van de waarden in de mpg- kolom.

Merk opnieuw op hoe de pijpoperator het interpreteren van de code ook gemakkelijker maakt.

Kortom, hij zegt:

  • Neem het mtcars -dataframe.
  • Maak een nieuwe kolom met de naam mpg2 en een nieuwe kolom met de naam mpg_root .

Gerelateerd: Hoe de functie transmute() in dplyr te gebruiken

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende functies in R kunt gebruiken:

Hoe de Tilde-operator (~) in R te gebruiken
Hoe de dollartekenoperator ($) in R te gebruiken
Hoe u de operator “NOT IN” gebruikt in R
Hoe de %in%-operator in R te gebruiken

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert