[R] anyone know how to combine two vector with some # overlaped?
Richard A. O'Keefe
ok at cs.otago.ac.nz
Wed May 5 10:08:01 CEST 2004
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 at 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.
More information about the R-help
mailing list