[Rd] duplicates() function

Joshua Ulrich
Fri, 08 Apr 2011 15:08:12 -0000

How about:

y <- rep(NA,length(x))
y[duplicated(x)] <- match(x[duplicated(x)] ,x)

--
Joshua Ulrich ?| ?FOSS Trading: www.fosstrading.com



On Fri, Apr 8, 2011 at 9:59 AM, Duncan Murdoch <murdoch.duncan at
gmail.com> wrote:
> I need a function which is similar to duplicated(), but instead of
returning
> TRUE/FALSE, returns indices of which element was duplicated. ?That is,
>
>> x <- c(9,7,9,3,7)
>> duplicated(x)
> [1] FALSE FALSE ?TRUE FALSE TRUE
>
>> duplicates(x)
> [1] NA NA ?1 NA ?2
>
> (so that I know that element 3 is a duplicate of element 1, and element 5
is
> a duplicate of element 2, whereas the others were not duplicated according
> to our definition.)
>
> Is there a simple way to write this function? ?I have ?an ugly
> implementation in R that loops over all the values; it would make more
sense
> to redo it in C, if there isn't a simple implementation I missed.
>
> Duncan Murdoch
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>