我特意開始考慮在這個問題中試圖讓值形成一個不重複的向量。 unique
是不好的(直到我可以從文檔中收集),因爲它給你重複的元素,但只有一次。 duplicated
有同樣的問題,因爲它第一次發現一個重複的值時會給你提供FALSE。這是我的解決方法獲取正好出現n次的值
> d=c(1,2,4,3,4,6,7,8,5,10,3)
> setdiff(d,unique(d[duplicated(d)]))
[1] 1 2 6 7 8 5 10
以下是較普遍的辦法
> table(d)->g
> as.numeric(names(g[g==1]))
[1] 1 2 5 6 7 8 10
,我們可以推廣到1以外的其它值,但我發現這個解決方案有點笨拙,轉化字符串的數字。有沒有更好或更直接的方法來獲得這個矢量?
很多好的答案。謝謝! – Enredanrestos 2014-09-30 15:12:47
我認爲,在所有提出的答案中,你的「桌子」是最不笨的一個。高效,少代碼,無需外部軟件包。 – 2014-09-30 15:17:00