[R] Sorting problem
murdoch at stats.uwo.ca
Sun Mar 29 12:15:58 CEST 2009
On 28/03/2009 4:57 PM, Stavros Macrakis wrote:
> On Sat, Mar 28, 2009 at 7:53 AM, Duncan Murdoch <murdoch at stats.uwo.ca> wrote:
>> ...More generally, the xtfrm() function converts a vector into a numeric one that sorts in the same order. ...
> Thanks, I learn a lot just by reading the answers to other people's
> questions on this list.
> Some followup questions:
> 1) Where does the name 'xtfrm' come from?
I don't know.
> 2) Why isn't xtfrm of a numeric vector the identity function?
"Because the implementation does that". It's a one liner:
xtfrm.default <- function (x)
as.vector(rank(x, ties.method = "min", na.last = "keep"))
The identity function would probably be faster, but why optimize cases
that are never needed? A better optimization would be just to use
order(x), not order(xtfrm(x)).
> 3) Similarly, why isn't xtfrm of a logical vector just as.integer of
> it? (as it is for factors)
> 4) Why is xtfrm(c(2,3,2)) => c(1,3,1) and not c(1,2,1) or for that
> matter c(2,3,2) (see point 2)?
More information about the R-help