Skip to content
Prev 42817 / 63421 Next

merge bug fix in R 2.15.0

Hi Uwe,

2012/3/17 Uwe Ligges <ligges at statistik.tu-dortmund.de>:
... now I'm confused :-)

If the user explicitly asks for a NULL/0/empty/whatever suffix,
they're not really going to be confusing themselves, right?

I actually feel like I do this often, where "this" is explicitly
asking to not add a suffix to one group of columns ... I do confuse
myself every and now and again, but not in this context, yet.

I can see that *this* confusing case is now handled w/ this change
(which wasn't before):

## I'm using R-devel compiled back in November, 2011 (r57571)
R> d1 <- data.frame(a=letters[1:10], b=rnorm(10), b.x=tail(letters, 10))
R> d2 <- data.frame(a=letters[1:10], b=101:110)
R> merge(d1, d2, by='a', suffixes=c('.x', '.y'))
   a         b.x b.x b.y
1  a -1.52250626   q 101
2  b -0.99865341   r 102
... ## Let's call this "exhibit A"

But if I do this:
R> merge(d1, d2, by='a', suffixes=c("", ".y"))

I totally expect:

   a           b b.x b.y
1  a -1.52250626   q 101
2  b -0.99865341   r 102
## Let's call this "exhibit B"
...

and not (using R-2.15.0 beta) (exhibit B):

Error in merge.data.frame(d1, d2, by = "a", suffixes = c("", ".y")) :
  there is already a column named 'b'

I can take a crack at a patch to keep the "rescue user from surprises"
example outlined in "exhibit A," but also letting user accomplish
"exhibit B" if there is a consensus of agreement on this particular
world view.

-steve