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

______________________________________________
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.

Reply via email to