Hi, I have two data frames, say, x and y, where y is a subset of x. How can I find the set difference of these two data frames (i.e., x-y)? Thanks, -- Yasin Gocgun
lapply() setdiff() by columns. Unless you have failed to tell us something, you almost certainly will not get a data frame (same number of rows/column) as your answer. -- Bert On Thu, Oct 31, 2013 at 12:58 PM, Yasin Gocgun <entropy053 at gmail.com> wrote:> Hi, > > I have two data frames, say, x and y, where y is a subset of x. How > can I find the set difference of these two data frames (i.e., x-y)? > > Thanks, > > -- > Yasin Gocgun > > ______________________________________________ > R-help at 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.-- Bert Gunter Genentech Nonclinical Biostatistics (650) 467-7374
Hello, Try the following. (I don't remember who wrote this function but I saw it in R-Help) setdiffDF <- function(A, B){ f <- function(A, B) A[!duplicated(rbind(B, A))[nrow(B) + 1:nrow(A)], ] df1 <- f(A, B) df2 <- f(B, A) rbind(df1, df2) } df1 <- data.frame(A = 1:10, B = 11:20) df2 <- data.frame(A = 1:5, B = 11:15) setdiffDF(df1, df2) Hope this helps, Rui Barradas Em 31-10-2013 19:58, Yasin Gocgun escreveu:> Hi, > > I have two data frames, say, x and y, where y is a subset of x. How > can I find the set difference of these two data frames (i.e., x-y)? > > Thanks, >