R中的switch-case用法介绍

2021年3月16日16:40:34 发表评论 1,294 次浏览

switch-case语句代替将变量与多个整数值进行比较的long if语句。 R中的switch case是多路分支语句。它允许针对值列表测试变量是否相等。

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

语法如下:

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

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

有关开关案例声明的要点:

  • 带有字符串的表达式类型始终与列出的情况匹配。
  • 不是字符串的表达式, 则此exp被强制为整数。
  • 对于多个匹配项, 将使用第一个match元素。
  • R开关大小写中没有默认参数大小写。
  • 如果没有匹配的大小写, 则可以使用未命名的大小写。

流程图:

Switch

范例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

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: