Re: [R] sort matrix based on a specific order

2013-01-10 Thread Ioannis Kosmidis
mat[match(ind, mat[, 2]), ] [,1] [,2] [1,] "y" "c" [2,] "x" "b" [3,] "z" "d" [4,] "w" "a" though you need to take care if you have cases where ind will contains letters that are not in mat[, 2] and so on (check ?match). Best, I On 10 Jan 2013, at 18:21, array chip wrote: > Hi I h

Re: [R] sort matrix based on a specific order

2013-01-10 Thread arun
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 To: "r-help@r-project.org"

Re: [R] sort matrix based on a specific order

2013-01-10 Thread array chip
Thank you all for the suggestions, fantastic! From: Rui Barradas Cc: "r-help@r-project.org" Sent: Thursday, January 10, 2013 10:32 AM Subject: Re: [R] sort matrix based on a specific order Hello, Try the following. order() gives you a permutat

Re: [R] sort matrix based on a specific order

2013-01-10 Thread Rui Barradas
Hello, Try the following. order() gives you a permutation of the vector 'ind' and to order that permutation gives its inverse. mat <- cbind(c('w','x','y','z'),c('a','b','c','d')) ind <- c('c','b','d','a') ord <- order(ind) mat[order(ord), ] Hope this helps, Rui Barradas Em 10-01-2013 18:21,

Re: [R] sort matrix based on a specific order

2013-01-10 Thread jim holtman
more complete example > mat<-cbind(c('w','x','y','z'),c('a','b','c','d')) > matOrd <- mat[order(factor(mat[,2], levels = c('c', 'b', 'd','a'))), ] > matOrd [,1] [,2] [1,] "y" "c" [2,] "x" "b" [3,] "z" "d" [4,] "w" "a" > On Thu, Jan 10, 2013 at 1:21 PM, array chip wrote: > Hi I have a

Re: [R] sort matrix based on a specific order

2013-01-10 Thread William Dunlap
; [2,] "x" "b" [3,] "z" "d" [4,] "w" "a" Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com > -Original Message- > From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On > Behalf &

Re: [R] sort matrix based on a specific order

2013-01-10 Thread jim holtman
Define them as factors with a specified order for your sorting. e.g. x <- factor(your_data, levels = c('c', 'b','d', 'a')) On Thu, Jan 10, 2013 at 1:21 PM, array chip wrote: > 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

[R] sort matrix based on a specific order

2013-01-10 Thread array chip
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,]