# switch Statement in R

In R language, the switch statements allow a variable to be tested for equality against a list of values. Each value in a list is called a case, and the variable being switched on is checked for each case. R switch is almost the same as the if statement regarding working functionality. The basic syntax is

### Basic Syntax of Switch Statement in R

switch(expression,
case 1,
case 2,
case 3,
.
.
)

The expression values are tested against multiple cases (case1, case2, …, casen). The one-line syntax is,

An R Switch statement allows a default statement can also be added. The default statement will be executed when the Expression value is not matching with any of the case statements.

The following example is a simple command-line type calculator using R.

### Simple Calculator Example

number1  <- 30
number2  <- 20
operator <- readline(prompt = "Enter any ARITHMETIC OPERATOR (+, -, *, ^, /, %/%, %%)!: ")

switch(operator,
"+" = print(paste("Addition (number1+number2) = ", number1 + number2)),
"-" = print(paste("Subtraction (number1-number2) = ", number1 - number2)),
"*" = print(paste("Multiplication (number1*number2) = ", number1 * number2)),
"^" = print(paste("Exponent (number1^number2) = ", number1 ^ number2)),
"/" = print(paste("Division (number1/number2) = ", number1 / number2)),
"%/%" = print(paste("Integer Division (number1 %/% number2) = ", number1 %/% number2)),
"%%" = print(paste("Division (number1 %% number2) = ", number1 %% number2))
)

From the above example, one can easily compute some basic computations on two numbers. The operation on these two numbers depends on the input given to readline( ) the function and the expression in the switch. The operator value from readline() is matched with the options (cases) in the switch statement and results are displayed when matched.

### Probability under the F-Curve

Consider another example, for different probabilities, the area under the curve for an F-curve can be selected using the switch as given below.

# q contains the probability under the curve for a F-curve
q <- c(0.25, 0.5, 0.75, 0.999)
test = 3
v1 = 10
v2 = 20

switch(test,
"1" = print (qf(q[1], df1=v1, df2=v2, lower.tail = T) ),
"2" = print (qf(q[2], df1=v1, df2=v2, lower.tail = T) ),
"3" = print (qf(q[3], df1=v1, df2=v2, lower.tail = T) ),
"4" = print (qf(q[4], df1=v1, df2=v2, lower.tail = T) )
)

The code above will produce F-table values for different probability values.

MCQs in Statistics

MCQs General Knowledge