[Rd] merge bug fix in R 2.15.0
Steve Lianoglou
mailinglist.honeypot at gmail.com
Sun Mar 18 20:48:30 CET 2012
Hi Uwe,
2012/3/17 Uwe Ligges <ligges at statistik.tu-dortmund.de>:
>
>
> On 15.03.2012 22:48, Matthew Dowle wrote:
>>
>>
>> Anyone?
>>
>>> Is it intended that the first suffix can no longer be blank? Seems to be
>>> caused by a bug fix to merge in R 2.15.0.
>
>
>
> Right, the user is now protected against confusing himself by using names
> that were not unique before the merge.
... 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
--
Steve Lianoglou
Graduate Student: Computational Systems Biology
| Memorial Sloan-Kettering Cancer Center
| Weill Medical College of Cornell University
Contact Info: http://cbio.mskcc.org/~lianos/contact
More information about the R-devel
mailing list