[Rd] Problem with order() and I()
MacQueen, Don
macqueen1 at llnl.gov
Tue Sep 9 17:08:50 CEST 2014
You are welcome.
-Don
Sent with Good (www.good.com)
-----Original Message-----
From: Martin Maechler [maechler at stat.math.ethz.ch<mailto:maechler at stat.math.ethz.ch>]
Sent: Tuesday, September 09, 2014 07:19 AM Pacific Standard Time
To: MacQueen, Don
Cc: R-devel at r-project.org
Subject: Re: [Rd] Problem with order() and I()
>>>>> MacQueen, Don <macqueen1 at llnl.gov>
>>>>> on Mon, 8 Sep 2014 16:06:21 +0000 writes:
> 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
yes, this is not desirable.
order() in such cases calls xtfrm() {as documented}
and that ends up calling rank() and then the internal .gt()
where the bug happens because
> I("x") > I("\xb5g")
[1] NA
but really I think the change should happen in xtfrm.Asis(.)
which I think should drop the class also in this case.
More on this, once we have fixed it.
Thank you, Don, very much!
Martin Maechler,
ETH Zurich
>> 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
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
[[alternative HTML version deleted]]
More information about the R-devel
mailing list