I suggest using vectorization : find_row <- function(m,v) { which(!(abs(rowSums(m - rep(v, each = nrow(m))) )) > 0) }
The function matroweqv mentioned above would give any row with the first element equal to the first element in vector v. The function find_row matches each row of the matrix as a whole to the vector v. 2013/6/26 Sachinthaka Abeywardana <sachin.abeyward...@gmail.com> > Hi all, > > What would be an efficient way to match rows of a matrix to a vector? > > ex: > > m<-matrix(1:9, nrow=3) > > m [,1] [,2] [,3] > [1,] 1 4 7 > [2,] 2 5 8 > [3,] 3 6 9 > > ################################# > which(m==c(2,5,8)) # I want this to return 2 > ###################### > > Thanks, > Sachin > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. > -- Sincerely yours, Yulia Matveyeva, Department of Statistical Modelling, Faculty of Mathematics and Mechanics, St Petersburg State University, Russia [[alternative HTML version deleted]] ______________________________________________ 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.