[R] Matrix transformation problem

Berend Hasselman bhh at xs4all.nl
Wed Jun 11 16:39:38 CEST 2008




stefan.petersson wrote:
> 
> 
> 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
> 
> 

max.col(x)


-- 
View this message in context: http://www.nabble.com/Matrix-transformation-problem-tp17773270p17779431.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list