Re: [R] Matrix transformation problem

From: Dimitris Rizopoulos <dimitris.rizopoulos_at_med.kuleuven.be>
Date: Wed, 11 Jun 2008 11:17:08 +0200

try this:

x <- matrix(c(1,0,0, 0,0,1, 0,1,0, 0,0,1, 0,1,0, 1,0,0),

    ncol = 3, byrow = TRUE)
which(x == 1, arr.ind = TRUE)[, "col", drop = FALSE]

I hope it helps.

Best,
Dimitris



Dimitris Rizopoulos
Biostatistical Centre
School of Public Health
Catholic University of Leuven

Address: Kapucijnenvoer 35, Leuven, Belgium

Tel: +32/(0)16/336899
Fax: +32/(0)16/337015
Web: http://med.kuleuven.be/biostat/
     http://www.student.kuleuven.be/~m0390867/dimitris.htm


>
> 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_at_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.
>

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm



R-help_at_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. Received on Wed 11 Jun 2008 - 11:36:51 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 11 Jun 2008 - 12:30:45 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive