RE: [R] Sorting a matrix in an odd way

About this list Date view Thread view Subject view Author view Attachment view

From: Adaikalavan Ramasamy (gisar@nus.edu.sg)
Date: Tue 13 May 2003 - 17:05:17 EST


Message-id: <024D6AEFCB92CB47BA1085751D184BB801053FF5@MBXSRV03.stf.nus.edu.sg>

You can use unique since it keeps the ordering intact (ie no sorting).

unique( unlist( apply(foo, 1, function(x) which(!is.na(x)) ) ) )
[1] 2 5 3 4 1

-----Original Message-----
From: Andy Bunn [mailto:abunn@montana.edu]
Sent: Tuesday, May 13, 2003 12:18 PM
To: 'R-Help'
Subject: [R] Sorting a matrix in an odd way

Hi, I have a matrix not unlike this:

foo <- matrix(,5,5)
foo[5,1] <- 1
foo[1:3,2] <- 1
foo[3:4,3] <- 1
foo[4:5,4] <- 1
foo[2:4,5] <- 1
foo
     [,1] [,2] [,3] [,4] [,5]
[1,] NA 1 NA NA NA
[2,] NA 1 NA NA 1
[3,] NA 1 1 NA 1
[4,] NA NA 1 1 1
[5,] 1 NA NA 1 NA

I want to get a vector that is the column numbers as sorted by the first
non-NA value. Like this:
2,5,3,4,1

I have been able to do this by adding an index and looping the matrix by
column. Can anybody think of a cleverer way to do this?

Thanks, as always, in advance.

Andy

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help


About this list Date view Thread view Subject view Author view Attachment view

This archive was generated by hypermail 2.1.3 : Tue 01 Jul 2003 - 09:11:49 EST