R: encuentra todos los valores únicos entre los subconjuntos de un marco de datos

Tengo un marco de datos con dos columnas. La primera columna define subconjuntos de los datos. Quiero encontrar todos los valores en la segunda columna que solo aparecen en un subconjunto en la primera columna.

Por ejemplo, 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

Me gustaría extraer el siguiente marco de datos.

data_subsets   data_values
    A              1
    A              5
    B              6
    B              7

He estado jugando conduplicated Pero parece que no puedo hacer que funcione. Cualquier ayuda es apreciada. Hay una serie de temas que abordan problemas similares, ¡espero que no haya pasado por alto la respuesta en mis búsquedas!

EDITAR

Modifiqué el enfoque de @Matthew Lundberg de contar el número de elementos y extraer del marco de datos. Por alguna razón, su enfoque no funcionaba con el marco de datos que tenía, por lo que se me ocurrió esto, que es menos elegante pero hace el trabajo:

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),]

Respuestas a la pregunta(3)

Su respuesta a la pregunta