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

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to