我有一個有兩列的數據框。第一列定義數據的子集。我想查找第二列中只出現在第一列的一個子集中的所有值。R - 在數據幀的子集中查找所有唯一值
例如,來自:
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
,但我似乎無法使它發揮作用。任何幫助表示讚賞。有幾個主題處理類似的問題,我希望我沒有忽視我的搜索答案!
EDIT
我修改從@Matthew倫德伯格計數元件的數量,並從數據幀中提取的方法。出於某種原因,他的做法是不與數據幀我有工作,所以我想出了這一點,這是不太優雅,但能夠完成任務:
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),]
非常感謝 - 編輯上面,以反映我的錯誤!當應用到我自己的數據集時,我得到錯誤「級別集合的因素是不同的」。將調查並回報.. – jslefche
適用於示例數據集如此upvote,但出於某種原因,不會用於我的真實數據集。請參閱編輯頂部以查看我的(不雅)解決方案 – jslefche