duplicates() function
-----Original Message----- From: r-devel-bounces at r-project.org [mailto:r-devel-bounces at r-project.org] On Behalf Of Duncan Murdoch Sent: Friday, April 08, 2011 8:16 AM To: Joshua Ulrich Cc: R-devel at r-project.org Subject: Re: [Rd] duplicates() function On 08/04/2011 11:08 AM, Joshua Ulrich wrote:
How about: y<- rep(NA,length(x)) y[duplicated(x)]<- match(x[duplicated(x)] ,x)
That's a nice solution for vectors. Unfortunately for me, I have a matrix (which duplicated() handles by checking whole rows).
Does R have a function like match() that treats matrices and data.frames row-wise, as duplicated() and unique() do? duplicated() and match() do related things and I've been annoyed that their methods for non-vectors do not match up with each other. (For historical reasons match cannot be changed, but perhaps a new generic is in order.) JU's code still would not work on matrices, but a variant could. Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com
So a better example that I should have posted would be x <- cbind(1, c(9,7,9,3,7) ) and I'd still like the same output
duplicated(x)
[1] FALSE FALSE TRUE FALSE TRUE
duplicates(x)
[1] NA NA 1 NA 2 Duncan Murdoch
-- 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
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel