Hi you have two options:
change the source code for merge or use some modified function like my.merge <- function(x,y, ...) if(all(dim(x)[1]>0, dim(y)[1]>0)) merge(x,y) else print ("No merge or whatever action which is suitable") HTH Petr On 27 Sep 2006 at 11:55, Bonfigli Sandro wrote: Date sent: Wed, 27 Sep 2006 11:55:44 +0200 From: "Bonfigli Sandro" <[EMAIL PROTECTED]> To: r-help@stat.math.ethz.ch Subject: [R] Impossible to merge with a zero rows data frame? > I'm trying to merge two data frames. One of them is a zero rows data > frame. I'm using the merge parameter 'all.x = TRUE' so I'd expect to > obtain all the rows of x. In fact the merge help says: > > all.x: logical; if 'TRUE', then extra rows will be added to the > output, one for each row in 'x' that has no matching row in > 'y'. These rows will have 'NA's in those columns that are > usually filled with values from 'y'. > > To let you test the problem here is some code: > > > L3 <- LETTERS[1:3] > > (d <- data.frame(cbind(x=1, y=1), fac=sample(L3, 1, repl=TRUE))) e > > <- d[-1,] > > so now we have that: > > e > [1] x y fac > <0 rows> (or 0-length row.names) > > here is the merge: > > merge(d, e, by.x = c("x"), by.y = c("x"), all.x = TRUE) > > I'd expect something like: > x y.x fac.x y.y fac.y > 1 1 1 B NA NA > instead of: > Error in merge.data.frame(d, e, by.x = c("x"), by.y = c("x"), all.x = > TRUE) : > no row to correspond > (I'm traslating the error message, so it could be a little different) > > My questions are: > Is there a way to obtain my desired result? In the context in which > I'd like to use the code the second data frame is the result of a > query and a lot of overwork would be added if I have to check if the > dataframe is a zero rows one BEFORE the merge (in fact I do a sequence > of several merge) Is this behaviour of the merge command correct? Why > did the developers choose it? > > P.S.: I tested this code both in R 2.3.0 and in 2.3.1 > > Thank you in advance. > Sandro Bonfigli > > ______________________________________________ > R-help@stat.math.ethz.ch 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. Petr Pikal [EMAIL PROTECTED] ______________________________________________ R-help@stat.math.ethz.ch 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.