Vectors form the basic building block of R programming. Most of the functions in R take vectors as input and output a resultant vector.

This vectorization of code will be much faster than applying the same function to each element of the vector individually.

Similar to this concept, there is a vector equivalent form of the if…else statement in R, the `ifelse()`

function.

The `ifelse()`

function is a conditional function in R that allows you to perform element-wise conditional operations on vectors or data frames.

## Syntax of ifelse() function

The syntax of the `ifelse()`

function is:

`ifelse(test_expression, x, y)`

Here,

`text_expression`

- A logical condition or a logical vector that specifies the condition to be evaluated. It can be a single logical value or a vector of logical values.`x`

- The value or expression to be returned when the condition is true. It can be a single value, vector, or an expression.`y`

- The value or expression to be returned when the condition is false. It can be a single value, vector, or an expression.

The return value is a vector with the same length as `test_expression`

.

This is to say, the `ith`

element of the result will be `x[i]`

if `test_expression[i]`

is `TRUE`

else it will take the value of `y[i]`

.

### Example: ifelse() function

```
# create a vector
a = c(5,7,2,9)
# check if each element in a is even or odd
ifelse(a %% 2 == 0,"even","odd")
```

**Output**

[1] "odd" "odd" "even" "odd"

In the example, a is a vector with values `[5, 7, 2, 9]`

.

When we apply the condition `a %% 2 == 0`

, it checks each element in `a`

to see if it is divisible by **2** without a remainder. This results in a logical vector: `[FALSE, FALSE, TRUE, FALSE]`

.

Now, the `ifelse()`

function takes this logical vector as the condition. It also takes two other vectors: `["even", "even", "even", "even"]`

and `["odd", "odd", "odd", "odd"]`

.

Since the condition vector has a length of **4**, the other two vectors are recycled to match this length.

The `ifelse()`

function then evaluates each element of the condition vector. If the element is `TRUE`

, it chooses the corresponding element from the `"even"`

vector. If the element is `FALSE`

, it chooses the corresponding element from the `"odd"`

vector.