Hello, sorry for posting this independently of the original thread, but it is not that easy to answer to mails, when receiving the r-help as digest...
... The question was: > I compare each row of a matrix with each row of another matrix. > > testmat1 <- matrix(c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16), nrow=4) > testmat2 <- matrix(c(1,2,3,5,5,6,7,8,9,10,11,12,13,14,15,16), nrow=4) and it was asked for a compaison of the both matrix-objects and the result should be a vetor with boolean results. I would use this one: as.vector( testmat1 == testmat2 ) or maybe as.vector( t(testmat1) == t(testmat2) ) but the result as a matrix might also be interesting, so as.vector() could be thrown out, and one would get a matrix of results. If you want just to know if a complete row is matching or not, you could sum up the rows: rowSums(testmat1 == testmat2 ) and when you compare it with the length, you get a column-based match-boolean: rowSums(testmat1 == testmat2 ) == nrow(testmat1) or if you need the negation of it: !rowSums(testmat1 == testmat2 ) == nrow(testmat1) and as functions: matcolcomp <-function(m1,m2) { rowSums(m1 == m2) == nrow(m1) } or matcolcomp <-function(m1,m2) { ! ( rowSums(m1 == m2) == nrow(m1) ) } Ciao, Oliver ______________________________________________ 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.