📜  R Switch语句(1)

📅  最后修改于: 2023-12-03 14:46:52.010000             🧑  作者: Mango

R Switch 语句

R语言中的switch语句是一种可以基于给定表达式的值从多个选项中选择执行的语句。它通常用在有多个可能操作的条件下,可以提供一个更高效的流程控制。

语法
switch(EXPR, CASE1, CASE2, ..., default)
  • EXPR: 存放在这里作为比较值的表达式。
  • CASE1: 与表达式值相等的第一个选项。可选。
  • CASE2: 与表达式值相等的第二个选项。可选。你可以为switch提供多个case选项。
  • default: 表示当上述情况均不成立时,应当发生什么。必须是最后一个参数。
举个例子
score <- 90

# switch 同时检查数值相等和类型相等
grade <- switch(as.character(score %/% 10),
            "10" = "A",
            "9" = "A",
            "8" = "B",
            "7" = "C",
            "6" = "D",
            "F")

上述代码展示了一个实用的示例,其中 switch 语句基于分数值来计算其等级,“10”和“9”记为“A”,“8”记为“B”,以此类推。

返回值

switch语句返回匹配项的值。如果未找到与表达式值匹配的值,则返回默认值。

嵌套的switch

switch也可以嵌套在if中,以实现更精细的条件检查。

if(condition1){
    # switch within if condition1
    result <- switch(var1, 
                     "option1" = { statements1 },
                     "option2" = { statements2 }
                     )
} else if (condition2) {
    # switch within if condition2
    result <- switch(var2, 
                     "option3" = { statements3 },
                     "option4" = { statements4 }
                     )
} else {
    result <- switch(var3, 
                     "option5" = { statements5 },
                     "option6" = { statements6 }
                     )
}
结论

当您需要匹配多个选项时,您可以使用switch语句来使您的代码更加简单,可读性更高。总的来说,这是一个强大的工具,可以帮助您更好地处理流程控制问题。