Skip to content

If/then statement, if in a list then

9 messages · John Kane, Jean V Adams, cm +3 more

#
if(cond) expr

if(cond) cons.expr  else  alt.expr

Also see ?ifelse
John Kane
Kingston ON Canada
____________________________________________________________
FREE 3D EARTH SCREENSAVER - Watch the Earth right on your desktop!
#
Not necessarily. If the OP really meant the R list() structure, then
is.element does not apply. If a vector was what was intended, then it
does -- provide all elements are of the same mode. With such a vague
post, it's hard to know.


-- Bert
On Mon, Jul 30, 2012 at 6:06 AM, Jean V Adams <jvadams at usgs.gov> wrote:

  
    
#
On Mon, Jul 30, 2012 at 8:49 AM, Bert Gunter <gunter.berton at gene.com> wrote:
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
#
Hello,

Em 30-07-2012 19:46, R. Michael Weylandt escreveu:
list(list(letters)) %in% x # Works -- true
identical(letters, x[[6]][[1]]) # True

Rui Barradas
#
??

On Mon, Jul 30, 2012 at 11:46 AM, R. Michael Weylandt
<michael.weylandt at gmail.com> wrote:
Note:
[1] FALSE FALSE FALSE FALSE FALSE

##The answer should be TRUE -- the vector (1:5) is a list component.

Similarly:
[1]  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[25] FALSE FALSE

## The answer again should be TRUE.
Error in match(el, set, 0L) : 'match' requires vector arguments

## The answer should be TRUE.

So I do not understand what your point is. I stand by my claim:
is.element is not intended for lists, and this is made clear (to me,
anyway) in the help file.

-- Bert

  
    
#
Sorry, one error:
On Mon, Jul 30, 2012 at 1:18 PM, Bert Gunter <bgunter at gene.com> wrote:
##### Should have been:###############
[1] FALSE
 The answer again should be TRUE.
#####################################