Open In App

Decision Making in R Programming - if, if-else, if-else-if ladder, nested if-else, and switch

Last Updated : 07 Jun, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

Decision making in programming allows us to control the flow of execution based on specific conditions. In R, various decision-making structures help us execute statements conditionally. These include:

  1. if statement
  2. if-else statement
  3. if-else-if ladder
  4. nested if-else statement
  5. switch statement

1. if Statement

The if statement evaluates a condition. If the condition is TRUE, the associated statement is executed. If the condition is FALSE, the statement is skipped.

Syntax:

if (condition) {

# execute this statement

}

Flow Chart:                        

if-statement-flowchart

Example: 

R
a <- 76
b <- 67

if (a > b) {
  c <- a - b
  print("condition a > b is TRUE")
  print(paste("Difference between a, b is:", c))
}

if (a < b) {
  c <- a - b
  print("condition a < b is TRUE")
  print(paste("Difference between a, b is:", c))
}

Output: 

[1] "condition a > b is TRUE"
[1] "Difference between a, b is: 9"

2. if-else Statement

The if-else statement executes one block if the condition is TRUE and another if it is FALSE.

Syntax:

if (condition) {

# execute this statement

} else {

# execute this statement

}

Flow Chart:

if-else-statement-flowchart

Example : 

r
a <- 67
b <- 76

if (a > b) {
  c <- a - b
  print("condition a > b is TRUE")
  print(paste("Difference between a, b is:", c))
} else {
  c <- a - b
  print("condition a > b is FALSE")
  print(paste("Difference between a, b is:", c))
}

Output: 

[1] "condition a > b is FALSE"
[1] "Difference between a, b is : -9"

3. if-else-if Ladder

This structure chains multiple conditions together. Each condition is evaluated in sequence. If a condition is TRUE, its block is executed. Otherwise, the next condition is checked.

Syntax:

if (condition1) {

# execute this statement

} else if (condition2) {

# execute this statement

} else {

# execute this statement

}

Flow Chart: 

if-else-if-ladder-flowchart

Example : 

r
a <- 67
b <- 76
c <- 99

if (a > b && b > c) {
  print("condition a > b > c is TRUE")
} else if (a < b && b > c) {
  print("condition a < b > c is TRUE")
} else if (a < b && b < c) {
  print("condition a < b < c is TRUE")
}

Output: 

[1] "condition a < b < c is TRUE"

4. Nested if-else Statement

Nested if-else statements are used when one condition needs to be checked inside another. If the parent condition is TRUE, the child condition is evaluated.

Syntax:

if (parent_condition) {

if (child_condition1) {

# execute this statement

} else {

# execute this statement

}

} else {

if (child_condition2) {

# execute this statement

} else {

# execute this statement

}

}

Flow Chart: 

nested-if-else-flowchart

Example: 

r
a <- 10
b <- 11

if (a == 10) {
  if (b == 10) {
    print("a:10 b:10")
  } else {
    print("a:10 b:11")
  }
} else {
  if (a == 11) {
    print("a:11 b:10")
  } else {
    print("a:11 b:11")
  }
}

Output: 

[1] "a:10 b:11"

5. switch Statement

The switch statement compares an expression to a list of possible cases. If a match is found, the corresponding case is executed. If no match is found, it returns NULL.

Syntax:

switch(expression, case1, case2, case3, ..., caseN)

Flow Chart :

switch-statement-flowchart

Example: 

r
x <- switch(2, "Geeks1", "for", "Geeks2")
print(x)

y <- switch("GfG3", "GfG0"="Geeks1", "GfG1"="for", "GfG3"="Geeks2")
print(y)

z <- switch("GfG", "GfG0"="Geeks1", "GfG1"="for", "GfG3"="Geeks2")
print(z)

Output: 

[1] "for"
[1] "Geeks2"
NULL


Next Article
Article Tags :

Similar Reads