dplyr::anti_join()
get_help()
docs
The anti_join()
function is part of the {dplyr}
package, which is part of the {tidyverse}
.
We use this function to merge two relational datasets and retain only information that is not shared between them. In order to merge relational datasets, there must be at least one column name in common.
Specifically, anti_join()
retains all rows from the left tibble (data frame) which are not present in the right tibble (data frame):
To use this function, you need to either first load the {dplyr}
library, or always use the function with dplyr::anti_join()
notation.
# Load the library
library(dplyr)
# Or, load the full tidyverse:
library(tidyverse)
# Or, use :: notation
::anti_join() dplyr
anti_join(left tibble, right tibble)
# or with piping:
%>%
left tibble anti_join(right tibble)
Consider the following example datasets, These two tibbles have column names name
and vore
in common. They both contain rows for “Dog”, “Pig”, and “Rabbit”, but first_tibble
also contains “Tiger” and second_tibble
also contains “Sheep”.
first_tibble## # A tibble: 4 × 3
## name vore conservation
## <chr> <chr> <chr>
## 1 Dog carni domesticated
## 2 Pig omni domesticated
## 3 Rabbit herbi domesticated
## 4 Tiger carni en
second_tibble## # A tibble: 4 × 3
## name vore order
## <chr> <chr> <chr>
## 1 Dog carni Carnivora
## 2 Pig omni Artiodactyla
## 3 Rabbit herbi Lagomorpha
## 4 Sheep herbi Artiodactyla
# anti_join with first_tibble on the left and second_tibble on the right
%>%
first_tibble anti_join(second_tibble)
## # A tibble: 1 × 3
## name vore conservation
## <chr> <chr> <chr>
## 1 Tiger carni en
# anti_join with second_tibble on the left and first_tibble on the right
%>%
second_tibble anti_join(first_tibble)
## # A tibble: 1 × 3
## name vore order
## <chr> <chr> <chr>
## 1 Sheep herbi Artiodactyla