[R] Matching pairs of values
Peter Ehlers
ehlers at ucalgary.ca
Sat Mar 27 15:14:49 CET 2010
(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
More information about the R-help
mailing list