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
Summarize
Comments
Improve
Suggest changes
Share
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