A: hoe u %in% kunt gebruiken om rijen met een waarde in de lijst te filteren


U kunt de volgende basissyntaxis gebruiken met de operator %in% in R om rijen te filteren die een waarde in een lijst bevatten:

 library (dplyr)

#specify team names to keep
team_names <- c(' Mavs ', ' Pacers ', ' Nets ')

#select all rows where team is in list of team names to keep
df_new <- df %>% filter(team %in% team_names)

Deze specifieke syntaxis filtert een dataframe om alleen rijen te behouden waarvan de waarde van de teamkolom gelijk is aan een van de drie waarden van de team_names- vector die we hebben opgegeven.

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: %in% gebruiken om rijen met een waarde in de lijst te filteren

Stel dat we het volgende gegevensframe in R hebben dat informatie bevat over verschillende basketbalteams:

 #create data frame
df <- data. frame (team=c('Mavs', 'Pacers', 'Mavs', 'Celtics', 'Nets', 'Pacers'),
                 points=c(104, 110, 134, 125, 114, 124),
                 assists=c(22, 30, 35, 35, 20, 27))

#view data frame
df

     team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Mavs 134 35
4 Celtics 125 35
5 Nets 114 20
6 Pacers 124 27

Stel dat we het dataframe zo willen filteren dat het alleen rijen bevat waarvan de waarde in de teamkolom gelijk is aan een van de volgende teamnamen:

  • Mav
  • Pacers
  • Netten

We kunnen hiervoor de volgende syntaxis gebruiken met de %in% operator:

 library (dplyr)

#specify team names to keep
team_names <- c(' Mavs ', ' Pacers ', ' Nets ')

#select all rows where team is in list of team names to keep
df_new <- df %>% filter(team %in% team_names)

#view updated data frame
df_new

    team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Mavs 134 35
4 Nets 114 20
5 Pacers 124 27

Houd er rekening mee dat alleen rijen met een Mavs-, Pacers- of Nets-waarde in de teamkolom worden bewaard.

Als u rijen wilt filteren waarin de teamnaam niet in een lijst met teamnamen voorkomt, voegt u eenvoudigweg een uitroepteken ( ! ) toe vóór de kolomnaam:

 library (dplyr)

#specify team names to not keep
team_names <- c(' Mavs ', ' Pacers ', ' Nets ')

#select all rows where team is not in list of team names to keep
df_new <- df %>% filter( ! team %in% team_names)

#view updated data frame
df_new

     team points assists
1 Celtics 125 35

Houd er rekening mee dat alleen rijen waarvan de waarde niet gelijk is aan Mavs, Pacers of Nets in de teamkolom worden bewaard.

Opmerking : u kunt hier de volledige documentatie van de filterfunctie in dplyr vinden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in dplyr uitvoert:

Hoe u de eerste rij per groep selecteert met dplyr
Hoe u op meerdere voorwaarden kunt filteren met behulp van dplyr
Hoe u rijen kunt filteren die een bepaalde tekenreeks bevatten met behulp van dplyr

Einen Kommentar hinzufügen

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