📜  R中的开关盒

📅  最后修改于: 2022-05-13 01:55:28.656000             🧑  作者: Mango

R中的开关盒

Switch case语句替代了将变量与多个整数值进行比较的长 if 语句。 R 中的 switch case 是一个多路分支语句。它允许根据值列表测试变量是否相等。

Switch 语句遵循映射和搜索值列表的方法。如果特定值有多个匹配项,则 switch 语句将返回与表达式匹配的值的第一个匹配项。

句法:

switch(expression, case1, case2, case3....)

在这里,表达式与值列表匹配,并返回相应的值。

关于 Switch Case 语句的要点:

  • 具有字符的字符串类型始终与列出的情况匹配。
  • 一个不是字符的字符串,然后这个 exp 被强制转换为整数。
  • 对于多个匹配,将使用第一个匹配元素。
  • R switch case 中没有可用的默认参数 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