[R] which element is duplicated?

Duncan Murdoch murdoch@dunc@n @ending from gm@il@com
Tue Nov 13 02:08:35 CET 2018


The duplicated() function gives TRUE if an item in a vector (or row in a 
matrix, etc.) is a duplicate of an earlier item.  But what I would like 
to know is which item does it duplicate?

For example,

v <- c("a", "b", "b", "a")
duplicated(v)

returns

[1] FALSE FALSE  TRUE  TRUE

What I want is a fast way to calculate

  [1] NA NA 2 1

or (equally useful to me)

  [1] 1 2 2 1

The result should have the property that if result[i] == j, then v[i] == 
v[j], at least for i != j.

Does this already exist somewhere, or is it easy to write?

Duncan Murdoch



More information about the R-help mailing list