[R] If/then statement, if in a list then

R. Michael Weylandt michael.weylandt at gmail.com
Mon Jul 30 20:46:15 CEST 2012


On Mon, Jul 30, 2012 at 8:49 AM, Bert Gunter <gunter.berton at gene.com> wrote:
> Not necessarily. If the OP really meant the R list() structure, then
> is.element does not apply.

Perhaps...

x <- list(1:5, "a", `+`, rnorm, NULL, list(letters))

letters %in% x # Works -- vectorized, mostly false, but the "a" is
there, per below
"a" %in% x # Works, true

1 %in% x # Works, false
1:5 %in% x # Works -- vectorized, false
list(1:5) %in% x # Works, true

`+` %in% x # Error
NULL %in% x # logical(0)

so it seems is.element / %in% [chacun son gout] works with "vectors"
(in a rather broad sense of that word)

I'm still trying to understand quite how this one works though:

list(letters) %in% x # Works -- false: this one surprised me!
identical(list(letters), x[[6]]) # True

Best,
Michael



More information about the R-help mailing list