R Switch
R switch statement selects one of the cases, based on the value of an expression.
There are two ways in which one of the cases is selected: based on index or matching value.
- Switch based on Index – If the cases are just values and the expression evaluates to a number, then the expression’s value is used as index to select the case.
- Switch based on Matching Value – If cases have both case value and output value like
case_1=value1
, then the expression value is matched against cases. When there is a match with a case, the corresponding value is the output.
In this tutorial, we will go through these two types of switch statements in detail.
Switch based on Index
The syntax of Switch statement which selects one of the cases based on index is
switch(expression, value1, value2, value3, ...)
Example 1
In this example, we will use switch statement based on index. The value of y, is taken as index.
y <- 3
x <- switch(
y,
"Good Morning",
"Good Afternoon",
"Good Evening",
"Good Night"
)
print(x)
Output
Example 2
In the following R switch statement, we have an expression with two variables: a
and b
. The expression is evaluated to an integer and this integer is used as an index to select the value.
a <- 1
b <- 2
x <- switch(
a+b,
"Good Morning",
"Good Afternoon",
"Good Evening",
"Good Night"
)
print(x)
Output
Switch based on Matching Value
The syntax of switch statement based on matching value is
switch(expression, case1=value1, case2=value2, ..., caseN=valueN)
Example 1
In this example, we will write a switch statement that selects on of the many values by matching expression’s value with the cases.
y <- "12"
x <- switch(
y,
"9"="Good Morning",
"12"="Good Afternoon",
"18"="Good Evening",
"21"="Good Night"
)
print(x)
Output
Example 2
In the following R switch statement, we used a string concatenation expression.
a <- "1"
b <- "8"
x <- switch(
paste(a,b,sep=""),
"9"="Good Morning",
"12"="Good Afternoon",
"18"="Good Evening",
"21"="Good Night"
)
print(x)
Output
Conclusion
In this R Tutorial, we learned R switch statement, its syntax and examples to understand how to use switch statement.