# [R] Match numeric vector against rows in a matrix?

Kevin Ummel kevinummel at gmail.com
Tue Jan 11 16:57:05 CET 2011

```Hi Petr,

Sorry for the delay. I ended up implementing a simple and fast but not-universal or elegant solution, since it turned out that I only needed to test a rather small subset of combinations for my purposes.

Nevertheless, I did go back and try the solutions posted. Bill's 'binary expansion' approach was the fastest by about a factor of 8.

Cheers,
Kevin

On Jan 11, 2011, at 9:20 AM, Petr Savicky wrote:

> Dear Kevin Ummel:
>
> There were several suggestions on R-help concering your question below.
> None of them suggests a base function. I would also expect that
> there is a base function for matching the rows. A related function is
> dist(), but it takes only one matrix as input and computes the distances
> between all pairs of its rows. Matching only some rows would require
> a modification of dist(), which would take two matrices and compare
> rows of one of them to the rows of the other. However, i do not know
> such a function in R.
>
> Is some of the suggestions on R-help suitable for your purposes?
>
>
> Best regards, Petr Savicky.
>
> On Wed, Jan 05, 2011 at 07:16:47PM +0000, Kevin Ummel wrote:
>> Two posts in one day is not a good day...and this question seems like it should have an obvious answer:
>>
>> I have a matrix where rows are unique combinations of 1's and 0's:
>>
>>> combs=as.matrix(expand.grid(c(0,1),c(0,1)))
>>> combs
>>     Var1 Var2
>> [1,]    0    0
>> [2,]    1    0
>> [3,]    0    1
>> [4,]    1    1
>>
>> I want a single function that will give the row index containing an exact match with vector x:
>>
>>> x=c(0,1)
>>
>> The solution needs to be applied many times, so I need something quick -- I was hoping a base function would do it, but I'm drawing a blank.
>>
>> Thanks!
>> Kevin
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help