R: Conditional Data Selection

ifelse1 {splus2R} | R Documentation

## Conditional Data Selection

### Description

This is equivalent to `{if(test) x else y}` . The main advantage of using this function is 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) x else if(test2) u else v}` (where arguments are given by name, not position).

### Usage

    ifelse1(test, x, y, ...)

### Arguments

`test` | logical value; if TRUE return x.
`x` | any object; this is returned if test is TRUE.
`y` | any object; this is returned if test is FALSE.
`...` | 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.

### Details

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

### Value

with three arguments, one of `x` or `y`. With k arguments, one of arguments 2, 4, ..., k-1, k.

### See Also

`ifelse`, `if`.

### Examples

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

[Package splus2R version 1.3-3 Index]