2017-06-20 43 views
-1

假設我有一個數據框(讓我們叫它df)看起來像這樣(下面)。我試圖根據給定的列(df $ car)刪除給定數據框中的所有重複項。刪除任何重複的行

options(stringsAsFactors=F) 
car <- c('car1', 'car2', 'car2', 'car3', 'car4', 'car4', 'car4', 'car5', 'car6', 'car6') 
location <- c(111,345,345,123,678,678,678,432,232,232) 
value <- c(1,1,1,1,2,2,2,2,4,4) 
a <- c('AT','ATC','TAT','C','TT','TGGGG','GGC','CC','AA','AT') 
b <- c('A', 'TAG','TAG','G','AA','AA','AA','GG','TT','TT') 

df <- data.frame(car,location,value,a,b) 


> df 
    car location value a b 
1 car1  111  1 AT A 
2 car2  345  1 ATC TAG 
3 car2  345  1 TAT TAG 
4 car3  123  1  C G 
5 car4  678  2 TT AA 
6 car4  678  2 TGGGG AA 
7 car4  678  2 GGC AA 
8 car5  432  2 CC GG 
9 car6  232  4 AA TT 
10 car6  232  4 AT TT 

我希望的輸出如下。我希望刪除所有具有重複項的列,而不僅僅是唯一的值。

car location value a b 
1 car1  111  1 AT A 
4 car3  123  1  C G 
8 car5  432  2 CC GG 

請注意:我相信這是比已張貼在過去別人不同的問題。大多數問題都是基於給定的列要求唯一的行,但我要求刪除這些行。如果這是一個重複的帖子,我很高興關閉這一個 - 我只是還沒有找到我在找什麼!謝謝你的幫助!

+1

的[?我怎樣可以刪除所有重複,這樣沒有一個是留在R中的數據幀(可能的複製https://stackoverflow.com/questions/13763216/how-can-i-remove-all-duplicates-so-none-none-are-left-in-a-data-frame-in-r)或者對於特定列,如你的情況[Extract original and從R中的數據框中獲得重複的結果](https://stackoverflow.com/questions/21359904/extract-original-and-duplicate-results-from-a-data-frame-in-r) –

回答

1

你可以嘗試,如果這個工程:

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