2014-10-26 107 views
-1

我想識別哪個觀察是基於一個變量中的值重複,但是我想所有這些產生的重複被識別,而不是僅僅它們出現在第二時間的觀察。例如:確定哪些值中的R重複

x <- c(1,2,3,4,5,7,5,7) 
duplicated(x) 
[1] FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE 

而不是識別最後兩個元素,我想的最後四個元素被以及哪個元素匹配確定(例如元件5和7,圖6和8)。謝謝。

+0

我想它是靈活到不同的順序。 – 2014-10-26 15:15:49

回答

1

你可以嘗試table

x <- c(1,2,3,4,5,7,5,7) 
tab <- table(x) > 1 
x[x %in% names(which(tab))] 
# [1] 5 7 5 7 

通過@ RAWR的評論風格的另一種方法是

x %in% x[duplicated(x)] 
# [1] FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE 
x[ x %in% x[duplicated(x)] ] 
# [1] 5 7 5 7 
which(x %in% x[duplicated(x)]) 
# [1] 5 6 7 8 
2

您可以使用duplicated兩次:

duplicated(x) | duplicated(x, fromLast = TRUE) 
# [1] FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE