B77S <bps0...@auburn.edu> writes: > That is odd, I noticed some weird sorting with merge() a while back too and > always am careful with it now. Fortunately, sort=FALSE seems to work the > way one would think most of the time.
Thanks for checking. Is this on a more recent version of R than 2.10.1? (I'm half-hoping this is something fixed in a newer R, so I can use it as an excuse to demand an upgrade.) > Although, the following results seem weird too! (adding by="date" makes it > not sort oddly, regardless of sort=TRUE or FALSE) [...] >> merge(d1, d2, by="date", sort=T) > date icpn.x foo icpn.y bar > 1 Jan 2000 500 1 500 10 > 2 Feb 2000 500 2 500 20 > 3 Mar 2000 500 3 500 30 > 4 Apr 2000 500 4 500 40 > 5 May 2000 500 5 500 50 > 6 Jun 2000 500 6 500 60 I think this is equivalent to the "single column" version. For yearmon objects, when `merge` only has one column to sort by, it seems to do the right thing. It only uses alphabetical order when there are more than one column. For ordered factors, though, even the single-column merge was giving me strange sorts. -Johann P.S. Just in case people have bad threading on their mail/news reader, here's the "bad sort" example: >> merge(d1, d2) > date icpn foo bar > 1 Apr 2000 500 4 40 > 2 Feb 2000 500 2 20 > 3 Jan 2000 500 1 10 > 4 Jun 2000 500 6 60 > 5 Mar 2000 500 3 30 > 6 May 2000 500 5 50 ______________________________________________ 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.