resample (version 0.4)

IfElse: Conditional Data Selection


This is equivalent to {if(test) yes else no}. The advantages of using this function are better formatting, and a more natural syntax when the result is being assigned; see examples below.

With 5 arguments, this is equivalent to {if(test1) yes else if(test2) u else v} (where arguments are given by name, not position).


IfElse(test, yes, no, ...)


logical value; if TRUE return yes.
any object; this is returned if test is TRUE.
normally any object; this is returned if test is FALSE. If there are more than three arguments this should be logical.
there should be 3, 5, 7, etc. arguments to this function; arguments 1, 3, 5, etc. should be logical values; the other arguments (even numbered, and last) are objects that may be returned.


with three arguments, one of yes or no. With k arguments, one of arguments 2, 4, ..., k-1, k.


test should be a scalar logical, and only one of yes or no is evaluated, depending on whether test = TRUE or test = FALSE, and yes and no may be any objects. In contrast, for ifelse, test is normally a vector, both yes and no are evaluated, even if not used, and yes and no are vectors the same length as test.

See Also

ifelse, if.


IfElse(TRUE, "cat", "dog")
IfElse(FALSE, "one", TRUE, "two", "three")
IfElse(FALSE, "one", FALSE, "two", "three")