Используя anti_join()
из dplyr
для фильтрации вашего набора данных по значениям, которых нет в другом наборе данных, вы можете сделать следующее:
library(tibble) # for tibble (a data_frame)
library(dplyr) # for anti_join
# Create some data
df <- tibble(
country = c("ABC", "DEF", "GHI", "WRONG"),
other_data = rnorm(4)
)
df
#> # A tibble: 4 x 2
#> country other_data
#> <chr> <dbl>
#> 1 ABC -0.277
#> 2 DEF 1.09
#> 3 GHI -0.184
#> 4 WRONG -0.150
countries <- tibble(
country = c("ABC", "DEF", "GHI", "JKL", "MNO"),
name = c("some", "long", "names", "or", "so")
)
countries
#> # A tibble: 5 x 2
#> country name
#> <chr> <chr>
#> 1 ABC some
#> 2 DEF long
#> 3 GHI names
#> 4 JKL or
#> 5 MNO so
# get only the countries that are NOT in countries
anti_join(df, countries, by = "country")
#> # A tibble: 1 x 2
#> country other_data
#> <chr> <dbl>
#> 1 WRONG -0.150
Создано в 2019-05-10 с помощью представительный пакет (v0.2.1)