2 つの列を持つデータ フレームがあります。最初の列は、データのサブセットを定義します。最初の列の 1 つのサブセットにのみ表示される 2 番目の列のすべての値を検索したいと考えています。
たとえば、次から:
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
次のデータフレームを抽出したいと思います。
data_subsets data_values
A 1
A 5
B 6
B 7
私は遊んでいますがduplicated
、それを機能させることができないようです。どんな助けでも大歓迎です。同様の問題に取り組んでいるトピックがたくさんあります。検索で答えを見逃さなかったことを願っています。
編集
要素の数を数えてデータ フレームから抽出するという @Matthew Lundberg のアプローチを変更しました。何らかの理由で、彼のアプローチは私が持っていたデータ フレームでは機能しなかったので、これを思いつきました。これはエレガントではありませんが、仕事は完了します。
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),]