[R] vector comparison

From: Karin Lagesen <karinlag_at_studmed.uio.no>
Date: Thu, 05 Jun 2008 12:38:14 +0200

I know this is fairly basic, but I must have somehow missed it in the manuals.

I have two vectors, often of unequal length. I would like to compare them for identity. Order of elements do not matter, but they should contain the same.

I.e: I want this kind of comparison:

> if (1==1) show("yes") else show("blah")
[1] "yes"
> if (1==2) show("yes") else show("blah")
[1] "blah"
>

Only replace the numbers with for instance the vectors

> a = c("a")
> b = c("b","c")
> c = c("c","b")

Now, I realize I only get a warning when comparing things, but this to me means that I am not doing it correctly:

> if (a==a) show("yes") else show("blah")
[1] "yes"
> if (a==b) show("yes") else show("blah")
[1] "blah"
Warning message:
In if (a == b) show("yes") else show("blah") :   the condition has length > 1 and only the first element will be used
>
> if (b == c) show("yes") else show("blah")
[1] "blah"
Warning message:
In if (b == c) show("yes") else show("blah") :   the condition has length > 1 and only the first element will be used
>

I have also tried the %in% comparator, but that one throws warnings too:

> if (b %in% c) show("yes") else show("blah")
[1] "yes"
Warning message:
In if (b %in% c) show("yes") else show("blah") :   the condition has length > 1 and only the first element will be used
>
> if (c %in% c) show("yes") else show("blah")
[1] "yes"
Warning message:
In if (c %in% c) show("yes") else show("blah") :   the condition has length > 1 and only the first element will be used
>

So, how is this really supposed to be done?

Thanks!

Karin



R-help_at_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. Received on Thu 05 Jun 2008 - 13:35:21 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 06 Jun 2008 - 14:30:39 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive