[R] which element is duplicated?
Duncan Murdoch
murdoch@dunc@n @ending from gm@il@com
Tue Nov 13 11:15:40 CET 2018
On 13/11/2018 12:35 AM, Pages, Herve wrote:
> Hi,
>
> On 11/12/18 17:08, Duncan Murdoch wrote:
>> 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?
>
> I generally use match() for that:
>
> > v <- c("a", "b", "b", "a")
>
> > match(v, v)
>
> [1] 1 2 2 1
Yes, this is perfect. Thanks to you (and the private answer I received
that suggested the same).
Duncan Murdoch
More information about the R-help
mailing list