2012-12-07 34 views
11

PHP有一個similar question,但我正在與R一起工作,無法將解決方案轉換爲我的問題。如何刪除所有重複項,以便NONE保留在數據框中?

我有這個數據框10行50列,其中一些行是絕對相同的。如果我使用唯一的,我得到一行 - 我們說 - 「類型」,但我真正想要的是隻得到那些只出現一次的行。有誰知道我能做到這一點?

我可以看看集羣和熱圖來手動對它進行分類,但是我有比上面提到的更大的數據框(最多100行),這有點棘手。

回答

33

這將提取其中只出現一次的行(假設你的數據幀被命名爲df):

df[!(duplicated(df) | duplicated(df, fromLast = TRUE)), ] 

它是如何工作:功能duplicated測試是否出現至少第二次行從第一行開始。如果使用參數fromLast = TRUE,則該函數從最後一行開始。

兩個布爾結果都與|(邏輯'或')組合成一個新的向量,表示所有行出現多次。使用!來取消這個結果,從而創建一個布爾向量,指示只出現一次的行。

相關問題