[R] element-by-element comparison
Jim Lemon
jim at bitwrit.com.au
Sun Oct 30 08:55:54 CET 2011
On 10/30/2011 02:51 PM, Wendy wrote:
> Hi,
>
> I have a vector and a matrix. For example,
>
> A = [
> 12
> 3
> 4];
>
> B = [
> 4 13
> 10 2
> 4 8];
>
> I am comparing A to each column of B using A>B[,ii], so the expected result
> is
>
> C = [
> 1 0
> 0 1
> 0 0];
>
> I am looking for a way to do this quickly instead of going through the for
> loop, but haven't had any luck yet? Any advice is appreciated.
Hi Wendy,
You probably mean something like this:
apply(B,2,`<`,A)
which means roughly
"To each column of B, apply the function `<` using A as the comparison
values"
You will get a matrix of TRUE/FALSE values that are pretty much
equivalent to your 0/1 values. Note that there are quite a few '*apply'
functions and 'apply' is only guaranteed to work on arrays and matrices.
Jim
More information about the R-help
mailing list