Анти-объединение будет "аккуратным" вариантом:
library(tidyverse)
d1 <- tribble(~a, ~b,
"a", 3,
"f", 9,
"g", 10)
d2 <- tribble(~a, ~b,
"a", 333,
"b", 999,
"f", 444,
"g", 111)
d2 %>%
anti_join(d1, by = "a")
# A tibble: 1 x 2
# a b
# <chr> <dbl>
# 1 b 999