Re: [R] anyone know how to combine two vector with some # overlaped?

About this list Date view Thread view Subject view Author view Attachment view

From: Richard A. O'Keefe (ok@cs.otago.ac.nz)
Date: Wed 05 May 2004 - 18:08:01 EST


Message-id: <200405050808.i45881t1115500@atlas.otago.ac.nz>

If you want this:

> Suppose I have two vector say x=c(1 2 3 4 5) and y=(2
> 3 6 7). Then I want to combine these two vector
> together and get z=c(1 2 3 4 5 6 7) with 2 and 3 only
> appear once.

Julian Taylor <julian.taylor@adelaide.edu.au> suggests:
        x <- c(1,2,3,4,5)
        y <- c(2,3,6,7)
        z <- c(x,y)[!duplicated(c(x,y))]
        
But you can do it in one step:
        z <- unique(c(x,y))

I don't know how unique() is implemented, but using a hash table it
_could_ be done in linear expected time, and in practice it seems to
be pretty quick, more than quick enough for a few hundred elements.

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html


About this list Date view Thread view Subject view Author view Attachment view

This archive was generated by hypermail 2.1.3 : Mon 31 May 2004 - 23:05:07 EST