You can use the arr.ind option of which: > t=matrix(1:12,3,4) > v=c(1,2,3) > t [,1] [,2] [,3] [,4] [1,] 1 4 7 10 [2,] 2 5 8 11 [3,] 3 6 9 12 > result <- sapply(v, function(x) which(t == x, arr.ind=TRUE)) > colnames(result) <- v > result 1 2 3 # 'v' [1,] 1 2 3 # row [2,] 1 1 1 # column >
On Mon, Nov 24, 2008 at 11:03 AM, Salas, Andria Kay <[EMAIL PROTECTED]> wrote: > I need help with (hopefully) just one more thing. I have been fussing with > this for quite some time and have decided just to give up and ask! I want to > match a column in a matrix to a vector. I found a "which" command that I > thought would be helpful as it does the following: > >> g=c(1,5,3,2,7) >> which(g==5) > [1] 2 > > As the above gave which placement in the g vector corresponded to 5 (the > second place), I need this command to give me which column in a matrix > matches to a vector. > > This is just a toy example of what I am trying to do: >> t=matrix(1:12,3,4) >>v=c(1,2,3) >>which(t[,j]==v) > > This does not work, and with my "real" matrices and vectors, I was getting > outputs that did not make sense. These examples are more to give an idea of > what I am aiming to accomplish. > > Thank you for all the help!! > ______________________________________________ > 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. > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve? ______________________________________________ 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.