A: rijen filteren waarbij de kolom zich tussen twee waarden bevindt


U kunt de volgende methoden gebruiken om een gegevensframe in R te filteren waarbij een specifieke kolom zich tussen twee waarden bevindt:

Methode 1: Gebruik Base R

 df_new <- subset(df, points %in% 100 : 120 )

Methode 2: gebruik dplyr

 library (dplyr)

df_new <- df %>% filter(between(points, 100 , 120 ))

Beide voorbeelden filteren een dataframe zodat het alleen rijen bevat waarvan de waarde in de kolom Punten tussen 100 en 120 ligt.

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met het volgende dataframe in R:

 #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

Voorbeeld 1: Filter waarbij de kolom zich tussen twee waarden bevindt met behulp van Base R

We kunnen de volgende syntaxis gebruiken met de functie R base subset() om het dataframe te filteren zodat het alleen rijen bevat waarvan de waarde in de puntenkolom tussen 100 en 120 ligt:

 #filter for rows where value in points column is between 100 and 120
df_new <- subset(df, points %in% 100 : 120 ) 

#view updated data frame
df_new

    team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Nets 114 20

Houd er rekening mee dat alleen rijen waarvan de waarde in de puntenkolom tussen 100 en 120 ligt, behouden blijven.

Alle andere rijen waarvan de waarde buiten dit bereik ligt, worden verwijderd.

Voorbeeld 2: Filter waar de kolom zich tussen twee waarden bevindt met behulp van dplyr

We kunnen de volgende syntaxis gebruiken met de functies filter() en between() van het dplyr-pakket in R om het dataframe te filteren zodat het alleen rijen bevat waarvan de waarde in de puntenkolom tussen 100 en 120 ligt:

 library (dplyr)

#filter for rows where value in points column is between 100 and 120
df_new <- df %>% filter(between(points, 100 , 120 ))

#view updated data frame
df_new

    team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Nets 114 20

Houd er rekening mee dat alleen rijen waarvan de waarde in de puntenkolom tussen 100 en 120 ligt, behouden blijven.

Merk ook op dat deze methode hetzelfde resultaat oplevert als de basis R-methode.

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 R kunt uitvoeren:

Hoe u %in% kunt gebruiken om rijen met een waarde in de lijst in R te filteren
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