Skip to content
Back to formatted view

Raw Message

Message-ID: <4EAD030A.6020105@bitwrit.com.au>
Date: 2011-10-30T07:55:54Z
From: Jim Lemon
Subject: element-by-element comparison
In-Reply-To: <1319946660057-3952301.post@n4.nabble.com>

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