Hoe u kolommen selecteert die niet met een tekenreeks beginnen in dplyr


U kunt de volgende functies uit het dplyr- pakket in R gebruiken om kolommen te selecteren die niet met een specifieke tekenreeks beginnen:

Methode 1: Selecteer kolommen die niet met een specifieke tekenreeks beginnen

 df %>%
  select(-starts_with(" string1 "))

Methode 2: Selecteer kolommen die niet beginnen met een van meerdere tekenreeksen

 df %>%
  select(-starts_with(c(" string1 ", " string2 ", " string3 ")))

De volgende voorbeelden laten zien hoe u elk van deze methoden in de praktijk kunt gebruiken met het volgende dataframe in R:

 #create data frame
df <- data. frame (store1_sales=c(12, 10, 14, 19, 22, 25, 29),
                 store1_returns=c(3, 3, 2, 4, 3, 2, 1),
                 store2_sales=c(8, 8, 12, 14, 15, 13, 12),
                 store2_returns=c(1, 2, 2, 1, 2, 1, 3),
                 promotions=c(0, 1, 1, 1, 0, 0, 1))

#view data frame
df

  store1_sales store1_returns store2_sales store2_returns promotions
1 12 3 8 1 0
2 10 3 8 2 1
3 14 2 12 2 1
4 19 4 14 1 1
5 22 3 15 2 0
6 25 2 13 1 0
7 29 1 12 3 1

Voorbeeld 1: Selecteer kolommen die niet beginnen met een specifieke tekenreeks

De volgende code laat zien hoe u de functie -starts_with() gebruikt om alleen kolommen te selecteren die niet beginnen met „store1“ in het dataframe:

 library (dplyr)

#select all columns that do not start with "store1"
df %>%
  select(-starts_with(" store1 "))

  store2_sales store2_returns promotions
1 8 1 0
2 8 2 1
3 12 2 1
4 14 1 1
5 15 2 0
6 13 1 0
7 12 3 1

Houd er rekening mee dat de twee kolommen die beginnen met ’store1′ niet worden geretourneerd.

Voorbeeld 2: Selecteer kolommen die niet beginnen met een van meerdere tekenreeksen

De volgende code laat zien hoe u de functie -starts_with() gebruikt om alleen kolommen te selecteren die niet beginnen met „store1“ of „prom“ in het dataframe:

 library (dplyr)

#select all columns that do not start with "store1" or "prom"
df %>%
  select(-starts_with(c(" store1 ", " prom ")))

  store2_sales store2_returns
1 8 1
2 8 2
3 12 2
4 14 1
5 15 2
6 13 1
7 12 3

Houd er rekening mee dat kolommen die beginnen met ’store1′ of ‚prom‘ niet worden geretourneerd.

Opmerking : standaard is de functie start_with() niet hoofdlettergevoelig. Om de functie hoofdlettergevoelig te maken, gebruikt u het argument negeer.case=FALSE in de functie.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken kunt uitvoeren met dplyr:

Kolommen op naam selecteren met dplyr
Kolommen selecteren op index met behulp van dplyr
Hoe select_if te gebruiken met meerdere voorwaarden in dplyr

Einen Kommentar hinzufügen

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