{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, ...)
TRUE
return yes
.test
is TRUE
.test
is FALSE
.
If there are more than three arguments this should be logical.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
.
ifelse
, if
.IfElse(TRUE, "cat", "dog") IfElse(FALSE, "one", TRUE, "two", "three") IfElse(FALSE, "one", FALSE, "two", "three")