[R] Trouble sorting the matrix

Rui Barradas ruipbarradas at sapo.pt
Sat Jun 15 13:32:48 CEST 2013


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,

Rui Barradas

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]),]
>    }
>



More information about the R-help mailing list