[R] sort matrix based on a specific order

arun smartpink111 at yahoo.com
Thu Jan 10 19:27:34 CET 2013


HI,
Try this:


 mat[match(ind,mat[,2]),]
  #   [,1] [,2]
#[1,] "y"  "c" 
#[2,] "x"  "b" 
#[3,] "z"  "d" 
#[4,] "w"  "a" 
A.K. 




----- Original Message -----
From: array chip <arrayprofile at yahoo.com>
To: "r-help at r-project.org" <r-help at r-project.org>
Cc: 
Sent: Thursday, January 10, 2013 1:21 PM
Subject: [R] sort matrix based on a specific order

Hi I have a character matrix with 2 columns A and B, If I want to sort the matrix based on the column B, but based on a specific order of characters:

mat<-cbind(c('w','x','y','z'),c('a','b','c','d'))
ind<-c('c','b','d','a')

I want "mat" to be sorted by the sequence in "ind":

     [,1] [,2]
[1,] "y"  "c" 
[2,] "x"  "b" 
[3,] "z"  "d" 
[4,] "w"  "a"

Is there any simple function that can do this?

Thanks

John

    [[alternative HTML version deleted]]


______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.





More information about the R-help mailing list