[R] transform large matrix into list
Jim Brennan
jfbrennan at rogers.com
Tue Jun 7 16:00:38 CEST 2005
First it looks like in L you need a 3 in row 3 col 2.
Anyway I think this is a non elegant way to do it without a loop that you
can easily improve I imagine and should be faster than the loop. You will
have to adjust the numbers to fit you matrix size etc.
R>mat<-matrix(sample(0:9,100,replace=T),50,2)#your M
R>new<-matrix(mat,100,1)
R>new2<-c(rep(1,50),rep(2,50))
R>new3<-c(rep(1:50,2))
R>result<-cbind(new,new2,new3)# your L
Jim
-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch
[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Stefan Mischke
Sent: June 7, 2005 8:56 AM
To: r-help at stat.math.ethz.ch
Subject: [R] transform large matrix into list
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 at 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
More information about the R-help
mailing list