> x.1
     [,1] [,2]
[1,]    1    4
[2,]    2    5
[3,]   NA    6
> cbind(x.1[!is.na(x.1)], which(!is.na(x.1), arr.ind=TRUE))
       row col
[1,] 1   1   1
[2,] 2   2   1
[3,] 4   1   2
[4,] 5   2   2
[5,] 6   3   2
>

Jim
__________________________________________________________
James Holtman        "What is the problem you are trying to solve?"
Executive Technical Consultant  --  Convergys Labs
[EMAIL PROTECTED]
+1 (513) 723-2929


                                                                                
                                                           
                      Stefan Mischke                                            
                                                           
                      <[EMAIL PROTECTED]        To:       
r-help@stat.math.ethz.ch                                                      
                      .ch>                         cc:                          
                                                           
                      Sent by:                     Subject:  [R] transform 
large matrix into list                                          
                      [EMAIL PROTECTED]                                         
                                                       
                      ath.ethz.ch                                               
                                                           
                                                                                
                                                           
                                                                                
                                                           
                      06/07/2005 08:55                                          
                                                           
                                                                                
                                                           




Dear List

I need to transform a large matrix M with many NAs into a list L with
one row for each non missing cell. Every row should contain the cell
value in the first column, and its coordinates of the matrix in column
2 and 3.

M:
             x1          x2
y1           1           2
y2           4           5
y3           7           8

L:
v            x           y
1            1           1
4            1           2
7            1           2
2            2           1
5            2           2
8            2           3

I'm trying to do this with a loop, but since my matrix is quite large
(around 10k^2) this just takes a very long time.
There must be a more efficient and elegant way to do this. Any hints?

Thanks,
Stefan

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to