[R] sort() leaves row names unaffected

Uwe Ligges ligges at statistik.uni-dortmund.de
Tue Dec 14 12:55:42 CET 2004


Martin Wegmann wrote:

> Hello, 
> 
> I wonder if I ran into a bug. If I do 
> 
> summary(df1$X1) -> df1.y
> 
> df1.y
> a  b   c   d  e
> [1,] 50.74627 8.955224 17.91045 19.40299 2.985075
> 
> sort(df1.y) 
>        a  b   c   d  e
> [1,] 2.985075 8.955224 17.91045 19.40299 50.74627

Note: You are sorting a matrix rather than a vector!

> my numbers are sorted but do not anymore correspond to the rownames. 

You mean colnames, not rownames!

> For me it is counterintuitive that solely the numbers are sorted and not the 
> names. Is there a way to sort names + numbers or is this behaviour of sort() 
> unintended?

Don't use sort() on matrices, use order() instead, as in:

  x[,order(x)]

Uwe Ligges


> Martin
> 
> R 2.0.1-1 debian reposit.
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html




More information about the R-help mailing list