[R] Sorting problem
    Wacek Kusnierczyk 
    Waclaw.Marcin.Kusnierczyk at idi.ntnu.no
       
    Sun Mar 29 01:18:20 CET 2009
    
    
  
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?
> 2) Why isn't xtfrm of a numeric vector the identity function?
> 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)?
>   
and one more;  ?xtfrm says: 
"     The default method will make use of '==', '>'  and 'is.na' methods
     for the class of 'x', but might be rather slow when doing so.
"
and yet:
    x = c(1i, 0i)
    is(x)
    # [1] "complex" "vector"
    xtfrm(x)
    # [1] 2 1
there is no xtfrm.complex, so the default should be called and it would
make use of '==', '>', and 'is.na' for the class 'complex'.  but this fails:
    0i > 1i
    # error: invalid comparison with complex values
how come?  (yes, it's again the flaw of complex being totally ordered
while '>' and relatives cannot be used to establish the order).
vQ
    
    
More information about the R-help
mailing list