Dplyr: anti_join gebruiken om ongeëvenaarde records te vinden


U kunt de functie anti_join() uit het dplyr- pakket in R gebruiken om alle rijen in een dataframe te retourneren die geen overeenkomende waarden hebben in een ander dataframe.

Deze functie gebruikt de volgende basissyntaxis:

 anti_join(df1, df2, by= ' col_name ')

De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld 1: Gebruik anti_join() met een kolom

Stel dat we de volgende twee dataframes in R hebben:

 #create data frames
df1 <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                  dots=c(12, 14, 19, 24, 36))

df2 <- data. frame (team=c('A', 'B', 'C', 'F', 'G'),
                  dots=c(12, 14, 19, 33, 17))

We kunnen de functie anti_join() gebruiken om alle rijen in het eerste dataframe te retourneren die geen overeenkomend team hebben in het tweede dataframe:

 library (dplyr)

#perform anti join using 'team' column
anti_join(df1, df2, by=' team ')

  team points
1 D 24
2 E 36

We kunnen zien dat er precies twee teams uit het eerste dataframe zijn die geen overeenkomende teamnaam hebben in het tweede dataframe.

Voorbeeld 2: Gebruik anti_join() met meerdere kolommen

Stel dat we de volgende twee dataframes in R hebben:

 #create data frames
df1 <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                  position=c('G', 'G', 'F', 'G', 'F', 'C'),
                  dots=c(12, 14, 19, 24, 36, 41))

df2 <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                  position=c('G', 'G', 'C', 'G', 'F', 'F'),
                  dots=c(12, 14, 19, 33, 17, 22))

We kunnen de functie anti_join() gebruiken om alle rijen in het eerste dataframe te retourneren die geen overeenkomend team en positie in het tweede dataframe hebben:

 library (dplyr)

#perform anti join using 'team' and 'position' columns
anti_join(df1, df2, by=c(' team ', ' position '))

  team position points
1 FY 19
2 BC 41

We kunnen zien dat er precies twee records uit het eerste dataframe zijn die geen overeenkomende teamnaam en positie hebben in het tweede dataframe.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende functies in dplyr kunt uitvoeren:

Kolommen selecteren op index met behulp van dplyr
Hoe u meerdere dataframes kunt samenvoegen 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