From macqueen1 at llnl.gov  Mon Sep  8 18:06:21 2014
From: macqueen1 at llnl.gov (MacQueen, Don)
Date: Mon, 8 Sep 2014 16:06:21 +0000
Subject: [Rd] Problem with order() and I()
Message-ID: <D033220C.10A9C4%macqueen1@llnl.gov>

I have found that order() fails in a rather arcane circumstance, as in
this example:

> foo <- I( c('x','\265g') )
> order(foo)
Error in if (xi > xj) 1L else -1L : missing value where TRUE/FALSE needed
> foo <-c('x','\265g')
> order(foo)
[1] 1 2



> sessionInfo()
R version 3.1.1 (2014-07-10)
Platform: x86_64-apple-darwin13.1.0 (64-bit)

locale:
[1] C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

Thanks
-Don

p.s.
Just a little background, irrelevant unless one wonders why I?m using I()
and \265:

If I were writing new code I wouldn?t be using I(), since there are better
ways now to achieve the same end (preventing the creation of factors in
data frames), but the scripts that use it are quite old,  originally
developed in 2001.

In at least some but perhaps limited contexts, ?\265? produces the greek
letter mu, and that?s why I?m using it. And if I remember correctly, 2001
is prior to the current R support for locales and extended character sets.
Using \265 is what I could find at that time to get a mu into my output.

I came across this while checking some things; it?s not actually breaking
my scripts, so I doubt it?s due to any recent change.


-- 
Don MacQueen

Lawrence Livermore National Laboratory
7000 East Ave., L-627
Livermore, CA 94550
925-423-1062



[Rd] Problem with order() and I()
MacQueen, Don