Dplyr: so verwenden sie anti_join, um nicht übereinstimmende datensätze zu finden


Sie können die Funktion anti_join() aus dem dplyr- Paket in R verwenden, um alle Zeilen in einem Datenrahmen zurückzugeben, die keine übereinstimmenden Werte in einem anderen Datenrahmen haben.

Diese Funktion verwendet die folgende grundlegende Syntax:

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

Die folgenden Beispiele zeigen, wie Sie diese Syntax in der Praxis anwenden können.

Beispiel 1: Verwenden Sie anti_join() mit einer Spalte

Angenommen, wir haben die folgenden zwei Datenrahmen in R:

 #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))

Wir können die Funktion anti_join() verwenden, um alle Zeilen im ersten Datenrahmen zurückzugeben, die im zweiten Datenrahmen kein passendes Team haben:

 library (dplyr)

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

  team points
1 D 24
2 E 36

Wir können sehen, dass es genau zwei Teams aus dem ersten Datenrahmen gibt, die im zweiten Datenrahmen keinen passenden Teamnamen haben.

Beispiel 2: Verwenden Sie anti_join() mit mehreren Spalten

Angenommen, wir haben die folgenden zwei Datenrahmen in R:

 #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))

Wir können die Funktion anti_join() verwenden, um alle Zeilen im ersten Datenrahmen zurückzugeben, die kein passendes Team und keine passende Position im zweiten Datenrahmen haben:

 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

Wir können sehen, dass es genau zwei Datensätze aus dem ersten Datenrahmen gibt, die keinen passenden Teamnamen und keine passende Position im zweiten Datenrahmen haben.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere allgemeine Funktionen in dplyr ausführen:

So wählen Sie Spalten nach Index mit dplyr aus
So verbinden Sie mehrere Datenrahmen mit dplyr
So filtern Sie Zeilen, die eine bestimmte Zeichenfolge enthalten, mit dplyr

Einen Kommentar hinzufügen

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