R中的开关盒
Switch case语句替代了将变量与多个整数值进行比较的长 if 语句。 R 中的 switch case 是一个多路分支语句。它允许根据值列表测试变量是否相等。
Switch 语句遵循映射和搜索值列表的方法。如果特定值有多个匹配项,则 switch 语句将返回与表达式匹配的值的第一个匹配项。
句法:
switch(expression, case1, case2, case3....)
在这里,表达式与值列表匹配,并返回相应的值。
关于 Switch Case 语句的要点:
- 具有字符的字符串类型始终与列出的情况匹配。
- 一个不是字符的字符串,然后这个 exp 被强制转换为整数。
- 对于多个匹配,将使用第一个匹配元素。
- R switch case 中没有可用的默认参数 case。
- 如果没有匹配的大小写,则可以使用未命名的大小写。
流程图:
示例 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