Jim, The one issue with those is that they remove duplicate elements in each vector before applying their logic. Thus, would not likely work here:
x <- c(3,3,4,4,4,4,5,5,6,8) z <- c(3,4,4,5,5) In effect, you end up with: > unique(x) [1] 3 4 5 6 8 > unique(z) [1] 3 4 5 Thus: > setdiff(x, z) [1] 6 8 > setdiff(z, x) numeric(0) > union(x, z) [1] 3 4 5 6 8 > intersect(x, z) [1] 3 4 5 I am also not sure that the two solutions proposed using "%in%" work as desired, though I may be missing something there. I may have also missed other solutions in this thread, but here is a proposal: x <- c(3,3,4,4,4,4,5,5,6,8) z <- c(3,4,4,5,5) for (i in seq(length(z))) { Ind <- match(z[i], x) x <- x[-Ind] } > x [1] 3 4 4 6 8 I think that works. HTH, Marc On Thu, 2007-11-15 at 13:28 -0500, jim holtman wrote: > You can also check out the 'set' operations: setdiff, intersect, union. > > On Nov 15, 2007 12:08 PM, John Kane <[EMAIL PROTECTED]> wrote: > > I think you've read Thomas's request in reverse. and > > what he want is: > > x[!x %in% z] > > > > Thanks for the %in% approach BTW. > > > > --- Charilaos Skiadas <[EMAIL PROTECTED]> wrote: > > > > > > > > On Nov 15, 2007, at 9:15 AM, Thomas Fr��jd > > > > wrote: > > > > > > > Hi > > > > > > > > I have three vectors say x, y, z. One of them, x > > > contains observations > > > > on a variable. To x I want to append all > > > observations from y and > > > > remove all from z. For appending c() is easily > > > used > > > > > > > > x <- c(x,y) > > > > > > > > But how do I remove all observations in z from x? > > > You can say I am > > > > looking for the opposite of c(). > > > > > > If you are looking for the opposite of c, provided > > > you want to remove > > > the first part of things, then perhaps this would > > > work: > > > > > > z<-c(x,y) > > > z[-(1:length(x))] > > > > > > However, if you wanted to remove all appearances of > > > elements of x > > > from c(x,y), regardless of whether those elements > > > appear in the x > > > part of in the y part, I think you would want: > > > > > > z[!z %in% x] > > > > > > Probably there are other ways. > > > > > > Welcome to R! > > > ______________________________________________ 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 and provide commented, minimal, self-contained, reproducible code.