[Rd] sort infelicity
Prof Brian Ripley
ripley at stats.ox.ac.uk
Sun Jul 10 08:56:22 CEST 2011
Collation is locale-specific. To stop problems such as that you
encontered, where it matters 'R CMD check' uses LC_COLLATE=C (and
documents it). Otherwise package checks would be system-dependent,
and maybe even user-dependent.
It really isn't a good idea to misuse examples in help files for
regression tests, not least when the result is not system-independent.
I'm afraid the only obscurity here is why you didn't undertand basic
facts about collation (facts which are linked to from the help page of
sort()). E.g.
The collating sequence of locales such as ‘en_US’ is
normally different from ‘C’ (which should use ASCII) and can be
surprising. Beware of making _any_ assumptions about the
collation order
Please do also take note of what the posting guide asked you to do
about obsolete versions of R.
On Sat, 9 Jul 2011, Spencer Graves wrote:
> Hello:
>
>
> sort(c('A', 'b', 'C')) seems to produce different answers in R
> interactive than in "R CMD check", at least under both Fedora 13 and Windows
> 7 with Windows 7 sessionInfo() copied below:
>
>
> In interactive, the result is c('A', 'b', 'C'); with R CMD check, it
> is c('A', 'C', 'b'). This produced the infelicity of a bug in "R CMD check"
> that I could not replicate with interactive R because a *.Rd file contained
> the equivalent example of stopifnot(all.equal(sort(c('A', 'b', 'C')), c('A',
> 'b', 'C'))): It worked just fine interactively but failed R CMD check.
>
>
> Once I understood this problem, it was easy to fix. However, it was
> not easy to find, especially since I got the same problem under Fedora 13
> Linux and Windows 7.
>
>
> This seems to be a sufficiently obscure anomaly that I thought someone
> might like to see it reported here.
>
>
> Best Wishes,
> Spencer Graves
>
>
>> sessionInfo()
> R version 2.12.2 (2011-02-25)
> Platform: x86_64-pc-mingw32/x64 (64-bit)
>
> locale:
> [1] LC_COLLATE=English_United States.1252
> [2] LC_CTYPE=English_United States.1252
> [3] LC_MONETARY=English_United States.1252
> [4] LC_NUMERIC=C
> [5] LC_TIME=English_United States.1252
>
> attached base packages:
> [1] splines stats graphics grDevices utils datasets methods
> [8] base
>
> other attached packages:
> [1] SIM_1.4-6 fda_2.2.6 zoo_1.6-5 RCurl_1.5-0.1
> bitops_1.0-4.1
> [6] R2HTML_2.2 oce_0.3-1
>
> loaded via a namespace (and not attached):
> [1] grid_2.12.2 lattice_0.19-30 tools_2.12.2
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
--
Brian D. Ripley, ripley at 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
More information about the R-devel
mailing list