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
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"
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
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,
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
;
[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
&
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
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,]
8 matches
Mail list logo