R语言 switch case
Switch case 语句是长的if语句的替代品,它将一个变量与几个积分值进行比较。R中的Switch case是一个多路分支语句。它允许将一个变量与一个值列表进行平等测试。
Switch语句遵循映射和搜索值列表的方法。如果一个特定的值有多个匹配,那么switch语句将返回找到的与表达式匹配的值的第一个匹配。
语法
switch(expression, case1, case2, case3....)
在这里,表达式与值列表相匹配,并返回相应的值。
关于Switch Case语句的重要观点 。
- 字符串类型的表达式总是与列出的情况相匹配。
- 如果表达式不是字符串,那么这个表达式将被强制转换成整数。
- 对于多个匹配,将使用第一个匹配元素。
- 在R开关的情况下,没有默认的参数情况可用。
- 如果没有匹配的情况,可以使用一个未命名的情况。
流程图:
例1 :
# Following is a simple R program
# to demonstrate syntax of switch.
val <- switch(
4,
"Geeks1",
"Geeks2",
"Geeks3",
"Geeks4",
"Geeks5",
"Geeks6"
)
print(val)
输出
[1] "Geeks4"
例2 :
# Following is val1 simple R program
# to demonstrate syntax of switch.
# Mathematical calculation
val1 = 6
val2 = 7
val3 = "s"
result = switch(
val3,
"a"= cat("Addition =", val1 + val2),
"d"= cat("Subtraction =", val1 - val2),
"r"= cat("Division = ", val1 / val2),
"s"= cat("Multiplication =", val1 * val2),
"m"= cat("Modulus =", val1 %% val2),
"p"= cat("Power =", val1 ^ val2)
)
print(result)
输出
multiplication = 42NULL