# [R] Trouble sorting the matrix

Sat Jun 15 14:19:52 CEST 2013

```Hello,

Yes, you can do it like you say. Or you can unsort first and multiply later.

mat5.1 <- sapply(seq_len(ncol(ord)), function(i) mat4[order(ord[,i]), i])

multip<-mat4*2
mat5.2 <- sapply(seq_len(ncol(ord)), function(i) multip[order(ord[,i]), i])

identical(mat5.1*2, mat5.2)  #TRUE

Also, it's better if you Cc the list, for others to read and eventually
find it of some use.

Em 15-06-2013 12:48, Ola Cabaj escreveu:
> Thanks, that helps a lot! I got another question, if you don't mind.
> If I would like to multiply mat4 by a number/vector
> multip<-mat4*2
>
> so to unsort this multiplied matrix I have to change mat4 to multip?
> mat5 <- sapply(seq_len(ncol(ord)), function(i) multip[order(ord[,i]), i])
>
>
>
>     Hello,
>
>     If I understand it correctly, the following should sort all columns
>     of matrix3 and then unsort the sorted matrix.
>
>
>     ord <- apply(matrix3, 2, order)
>
>     # sort matrix3
>     mat4 <- sapply(seq_len(ncol(ord)), function(i) matrix3[ord[,i], i])
>     mat4
>
>     # unsort mat4
>     mat5 <- sapply(seq_len(ncol(ord)), function(i) mat4[order(ord[,i]), i])
>
>     identical(matrix3, mat5)  # TRUE
>
>
>     Hope this helps,
>
>
>     Em 15-06-2013 11:36, Ola Cabaj escreveu:
>
>         I would like to sort matrix3, so that every column in output
>         matrix is
>         sorted. Also I have to "unsort" it later on.
>
>         matrix1<-matrix(rnorm(100,354,__78),ncol=10)
>         matrix2<-matrix(rnorm(100,225,__102),ncol=10)
>         matrix3<-cbind(matrix1,__matrix2)
>         nrCol<-length(matrix3[1,])
>         class1<-1:10
>             for(i in 1:nrCol)
>             {
>               sorted.matrix<-matrix3[order(__matrix3[class1,i]),]
>             }
>            for(i in 1:liczbaKolumn)
>             {
>              output<-sorted.matrix[order(__matrix3[class1,i]),]
>             }
>
>
>
>
> --
> Aleksandra Cabaj

```