R - znajdź wszystkie unikalne wartości wśród podzbiorów ramki danych
Mam ramkę danych z dwiema kolumnami. Pierwsza kolumna definiuje podzbiory danych. Chcę znaleźć wszystkie wartości w drugiej kolumnie, które pojawiają się tylko w jednym podzbiorze w pierwszej kolumnie.
Na przykład z:
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
Chciałbym wyodrębnić następującą ramkę danych.
data_subsets data_values
A 1
A 5
B 6
B 7
Bawiłem się zduplicated
ale nie wydaje mi się, żeby to działało. Każda pomoc jest doceniana. Istnieje wiele tematów zajmujących się podobnymi problemami, mam nadzieję, że nie przeoczyłem odpowiedzi w moich poszukiwaniach!
EDYTOWAĆ
Zmodyfikowałem podejście z @Matthew Lundberga do zliczania liczby elementów i wyodrębniania z ramki danych. Z jakiegoś powodu jego podejście nie działało z ramką danych, którą miałem, więc wymyśliłem to, co jest mniej eleganckie, ale wykonuje zadanie:
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),]