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 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)
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
This is to say, the
ith element of the result will be
TRUE else it will take the value of
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")
 "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].
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.
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