Dplyr: jak używać anti_join do znajdowania niedopasowanych rekordów


Możesz użyć funkcji anti_join() z pakietu dplyr w R, aby zwrócić wszystkie wiersze w ramce danych, które nie mają pasujących wartości w innej ramce danych.

Ta funkcja wykorzystuje następującą podstawową składnię:

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

Poniższe przykłady pokazują, jak używać tej składni w praktyce.

Przykład 1: Użyj anti_join() z kolumną

Załóżmy, że mamy w R następujące dwie ramki danych:

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

Możemy użyć funkcji anti_join() , aby zwrócić wszystkie wiersze w pierwszej ramce danych, które nie mają pasującego zespołu w drugiej ramce danych:

 library (dplyr)

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

  team points
1 D 24
2 E 36

Widzimy, że istnieją dokładnie dwa zespoły z pierwszej ramki danych, które nie mają pasującej nazwy zespołu w drugiej ramce danych.

Przykład 2: Użyj funkcji anti_join() z wieloma kolumnami

Załóżmy, że mamy w R następujące dwie ramki danych:

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

Możemy użyć funkcji anti_join() , aby zwrócić wszystkie wiersze w pierwszej ramce danych, które nie mają pasującego zespołu i pozycji w drugiej ramce danych:

 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

Widzimy, że w pierwszej ramce danych znajdują się dokładnie dwa rekordy, które nie mają pasującej nazwy zespołu i pozycji w drugiej ramce danych.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe funkcje w dplyr:

Jak wybrać kolumny według indeksu za pomocą dplyr
Jak połączyć wiele ramek danych za pomocą dplyr
Jak filtrować wiersze zawierające określony ciąg za pomocą dplyr

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *