[R] Matrix transformation problem
    stefan.petersson at inizio.se 
    stefan.petersson at inizio.se
       
    Wed Jun 11 10:10:55 CEST 2008
    
    
  
ng,
I have a matrix (x) with binary content. Each row of the matrix holds exactly one 1, and the rest of the row is zeros. The thing is that I need to 'collapse' the matrix to one column where each row holds the original column index of the 1's (y). Sometimes, the matrix is quite large, so I have a perfomance problem.
x <- matrix(c(1,0,0, 0,0,1, 0,1,0, 0,0,1, 0,1,0, 1,0,0),ncol=3,byrow=T)
x
     [,1] [,2] [,3]
[1,]    1    0    0
[2,]    0    0    1
[3,]    0    1    0
[4,]    0    0    1
[5,]    0    1    0
[6,]    1    0    0
In the matrix above, on the first row, the 1 is in column 1, hence '1' on the first row in the matrix below. On the second row in the matrix above, the 1 is in column 3, hence the '3' on the second row in the matrix below. And so on... 
y
     [,1]
[1,]    1
[2,]    3
[3,]    2
[4,]    3
[5,]    2
[6,]    1
    
    
More information about the R-help
mailing list