Thank you very much! that's exactly what I want. On Tue, Jun 12, 2012 at 10:32 AM, R. Michael Weylandt <michael.weyla...@gmail.com> wrote: > 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.zhenji...@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@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.
______________________________________________ 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.