R - encontra todos os valores exclusivos entre subconjuntos de um quadro de dados

Eu tenho um quadro de dados com duas colunas. A primeira coluna define subconjuntos dos dados. Eu quero encontrar todos os valores na segunda coluna que aparecem apenas em um subconjunto na primeira coluna.

Por exemplo, de:

df=data.frame(
  data_subsets=rep(LETTERS[1:2],each=5),
  data_values=c(1,2,3,4,5,2,3,4,6,7))

data_subsets data_values
      A           1
      A           2
      A           3
      A           4
      A           5
      B           2
      B           3
      B           4
      B           6
      B           7

Eu gostaria de extrair o seguinte quadro de dados.

data_subsets   data_values
    A              1
    A              5
    B              6
    B              7

Eu tenho brincado comduplicated mas eu simplesmente não consigo fazer funcionar. Qualquer ajuda é apreciada. Há uma série de tópicos abordando problemas semelhantes, espero não ter ignorado a resposta em minhas pesquisas!

EDITAR

Eu modifiquei a abordagem de @Matthew Lundberg de contar o número de elementos e extrair do quadro de dados. Por alguma razão, sua abordagem não estava funcionando com o quadro de dados que eu tinha, então eu criei isso, que é menos elegante, mas faz o trabalho:

counts=rowSums(do.call("rbind",tapply(df$data_subsets,df$data_values,FUN=table)))
extract=names(counts)[counts==1]
df[match(extract,df$data_values),]

questionAnswers(3)

yourAnswerToTheQuestion