Hi Nevil,

Try

apply(A, 2, function(x) x == B)

HTH,
Jorge.-



On Fri, May 2, 2014 at 6:46 PM, nevil amos <nevil.amos@gmail.com> wrote:

> I wish to return " True" in a matrix for only the first match of a value
> per row where the value equals that in a vector with the same number of
> values as rosw in the matrix
>
> eg:
> A<-matrix(c(2,3,2,1,1,2,NA,NA,NA,5,1,0,5,5,5),5,3)
> B<-c(2,1,NA,1,5)
> desired result:
>
>       [,1] [,2]  [,3]
> [1,]  TRUE FALSE FALSE
> [2,] FALSE   NA FALSE
> [3,]    NA   NA    NA
> [4,]  TRUE   NA FALSE
> [5,] FALSE TRUE  FALSE
>
> however A==B returns:
>       [,1] [,2]  [,3]
> [1,]  TRUE TRUE FALSE
> [2,] FALSE   NA FALSE
> [3,]    NA   NA    NA
> [4,]  TRUE   NA FALSE
> [5,] FALSE TRUE  TRUE
> and
> apply(A,1,function(x) match (B,x))
> returns
>      [,1] [,2] [,3] [,4] [,5]
> [1,]    1   NA    1   NA   NA
> [2,]    3   NA   NA    1    1
> [3,]   NA    2    2    2   NA
> [4,]    3   NA   NA    1    1
> [5,]   NA   NA    3    3    2
>
> thanks
>
>         [[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.
>

	[[alternative HTML version deleted]]

