How to index a matrix with different row-number for each column?
I think you are looking for mt[cbind(vt, seq_along(vt))] which uses some trickines known as matrix indexing (basically, the two columns created by cbind() are considered row & col indices -- then seq_along() gives the col1,col2, bit as needed. HTH, Michael
On Tue, Jun 12, 2012 at 10:28 AM, Zhenjiang Lan <lan.zhenjiang at gmail.com> wrote:
here's my question: suppose I have a matrix: ? ?mt<-matrix(1:12,ncol=6) now I have a vector ? ?vt<-c(1,2,2,2,1,2) which means I want to get: the 1st row for column1; the 2nd row for column2; the 2nd row for column3; the 2nd row for column4; ... that what I want is this vector: 1,4,6,8,9,12 Does anyone know how to do this fast? I know I can use for-loop to travel all columns,but that's not what I want.
______________________________________________ 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.