Don't think I have seen this one come across:

> x <- c(1,2,3,2,4,4,6,1)
> duplicated(x) | duplicated(x, fromLast=TRUE)
[1]  TRUE  TRUE FALSE  TRUE  TRUE  TRUE FALSE  TRUE


On Thu, May 14, 2009 at 12:09 PM, Bert Gunter <gunter.berton@gene.com>wrote:

> ... or, similar in character to Gabor's solution:
>
> tbl <- table(x)
> (tbl[as.character(sort(x))]>1)+0
>
>
> Bert Gunter
> Nonclinical Biostatistics
> 467-7374
>
> -----Original Message-----
> From: r-help-bounces@r-project.org [mailto:r-help-bounces@r-project.org]
> On
> Behalf Of Gabor Grothendieck
> Sent: Thursday, May 14, 2009 7:34 AM
> To: christiaan pauw
> Cc: r-help@r-project.org
> Subject: Re: [R] Duplicates and duplicated
>
> Noting that:
>
> > ave(x, x, FUN = length) > 1
>  [1] FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE
>
> try this:
>
> > rbind(x, dup = ave(x, x, FUN = length) > 1)
>    [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
> x      1    2    3    4    4    5    6    7    8     9
> dup    0    0    0    1    1    0    0    0    0     0
>
>
> On Thu, May 14, 2009 at 2:16 AM, christiaan pauw <cjpauw@gmail.com> wrote:
> > Hi everybody.
> > I want to identify not only duplicate number but also the original number
> > that has been duplicated.
> > Example:
> > x=c(1,2,3,4,4,5,6,7,8,9)
> > y=duplicated(x)
> > rbind(x,y)
> >
> > gives:
> >    [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
> > x    1    2    3    4    4    5    6    7    8     9
> > y    0    0    0    0    1    0    0    0    0     0
> >
> > i.e. the second 4 [,5] is a duplicate.
> >
> > What I want is the first and second 4. i.e [,4] and [,5] to be TRUE
> >
> >    [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
> > x    1    2    3    4    4    5    6    7    8     9
> > y    0    0    0    1    1    0    0    0    0     0
> >
> > I assume it can be done by sorting the vector and then checking is the
> next
> > or the previous entry matches using
> > identical() . I am just unsure on how to write such a loop the logic of
> > which (I think) is as follows:
> >
> > sort x
> > for every value of x check if the next value is identical and return TRUE
> > (or 1) if it is and FALSE (or 0) if it is not
> > AND
> > check is the previous value is identical and return TRUE (or 1) if it is
> and
> > FALSE (or 0) if it is not
> >
> > Im i thinking correct and can some help to write such a function
> >
> > regards
> > Christiaan
> >
> >        [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help@r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html>
> > and provide commented, minimal, self-contained, reproducible code.
> >
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?

	[[alternative HTML version deleted]]


