2015-12-16 29 views
0

我有這樣一個DF:刪除重複的條目行中的R

Num <- c(1,1,1,2,2,3,4,5) 
ID <- c("A","B","C","A","B","C","D","E") 
dff <- data.frame(Num,ID) 

我想刪除具有重複條目任何行。我做這樣

dff1 <- dff[!duplicated(dff[,1]),] 

我得到的輸出

Num ID 
1 1 A 
4 2 A 
6 3 C 
7 4 D 
8 5 E 

但我期望的輸出是

Num ID 
6 3 C 
7 4 D 
8 5 E 

我失去的是什麼?

+0

你「失蹤」是重複返回向量是「F」的元素第一次出現的,而T爲之後的每一次發生。 – Heroka

+1

'dff [!(dff $ Num%in%dff $ Num [duplicated(dff $ Num)]),]' – RHertel

回答

2

你可以嘗試:

dff[dff$Num %in% as.numeric(names(table(dff$Num)==1)[table(dff$Num)==1]),] 
    Num ID 
6 3 C 
7 4 D 
8 5 E 

或者使用dplyr

library(dplyr) 
dff %>% group_by(Num) %>% filter(n()==1) 
Source: local data frame [3 x 2] 
Groups: Num 

    Num ID 
1 3 C 
2 4 D 
3 5 E 
+0

尼斯dplyr解決方案。我喜歡這個。謝謝@DatamineR – Sharath

+0

@Sharath歡迎您:-) – DatamineR