On Tue, 22 Dec 2009, Peter Dalgaard wrote:
Prof Brian Ripley wrote:
That different OSes use the same name for a locale does not make them the
same locale.
Note that R can be compiled to use ICU, which provides a well-considered
collation suite. R on Mac OS X uses ICU, as does a Linux build if it is
available -- so I would say that it is RHEL that is out of line here (it
makes little sense to have < and > far apart in the collation sequence).
That's not it:
v <- c("1","<0","<3","2")
sort(v)
[1] "<0" "1" "2" "<3"
The point is rather that "special characters" are ignored during collation.
Sometimes ....
Apparently, this comes from /usr/share/i18n/locales/iso14651_t1_common on
Fedora; I wouldn't know how faithful to the ISO standard that is.
ISO 14651 is a version of the Unicode Collation Algorithm
(http://www.unicode.org/reports/tr10/) which ICU uses. So other
people have implemented the same set of rules to give different
results -- which is quite possible given the number of non-prescribed
choices that need to be made.
We've seen too many anomalies from glibc to trust it: which is why ICU
is used if available.
--
Brian D. Ripley, rip...@stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel