(Sorry, I think that I just hit a wrong button and managed
to send a non-reply.)

I think that David might have meant that the column order of the
numbers in lookfor is unimportant. In that case, a simple fix would
be either to check both lookfor and rev(lookfor) (since the
matrix is nX2) or to sort before testing:

 vtest <- function(x, lookfor){
             any(apply(x, 1, function(v)
                     {identical(sort(v), sort(lookfor))}))}

 -Peter Ehlers


On 2010-03-27 2:46, Berend Hasselman wrote:


David Scott-6 wrote:

I am sure someone can come up with a clever way of doing what I want---I
don't seem to be able to.

I want to check if a pair of numbers occurs as one of the rows of an n
by 2 matrix. If I was only checking whether a single number was in a
vector of numbers I would use %in% but I can't see how to generalize to
this case.


Would this help?

vtest<- function(x, lookfor) any(apply(x,1, function(v)
identical(v,lookfor)))

ma<- matrix(c(2,3,1,5,7,3),ncol=2)
ma
      [,1] [,2]
[1,]    2    5
[2,]    3    7
[3,]    1    3
vtest(ma,c(3,7))
[1] TRUE
vtest(ma,c(1,7))
[1] FALSE

Berend

--
Peter Ehlers
University of Calgary

______________________________________________
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.

Reply via email to