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,

switch statement in r

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

Leave a Reply

Discover more from R Frequently Asked Questions

Subscribe now to keep reading and get access to the full archive.

Continue reading