R语言 决策–if、if-else、if-else-if梯子、嵌套if-else和switch
决策是关于根据某些条件来决定语句的执行顺序。在决策中,程序员需要提供一些由程序评估的条件,同时还提供一些如果条件为真则执行的语句,如果条件被评估为假则可选其他语句。
R语言中的决策语句如下。
- if 语句
- if-else 语句
- if-else-if 梯子
- 嵌套的if-else语句
- switch语句
if语句
关键字 if 告诉编译器这是一条决策控制指令,关键字if后面的条件总是包含在一对小括号中。如果条件为 “true”,语句就会被执行;如果条件为 “false”,语句就不会被执行。
语法
if(condition is true){
执行该语句
}
流程图
例子
输出
if-else 语句
If-else ,为我们提供了一个可选的else块,如果if块的条件为false,它将被执行。如果提供给if块的条件是真的,那么if块中的语句将被执行,否则else块中的语句将被执行。
语法
if(condition is true) {
执行该语句
} else {
执行此语句
}
流程图
例子 :
输出
if-else-if 梯子
它类似于if-else语句,这里唯一的区别是if语句与else相连。如果提供给if块的条件是真实的,那么if块中的语句就会被执行,如果提供的另一个条件被检查,如果是真实的,那么该块中的语句就会被执行。
语法
if(condition 1 is true) {
执行该语句
} else if(condition 2 is true) {
执行此语句
} else {
执行此语句
}
流程图
例子 :
输出
嵌套的if-else语句
当我们有一个if-else块作为if块中的一个语句,或者可以选择在else块中,那么它就被称为嵌套的if else语句。当一个if条件为真时,下面的子if条件将被验证,如果条件错误,则执行else语句,这发生在父if条件中。如果父级if条件为假,则执行else块,也可能包含子级if else语句。
语法
流程图
例子
输出
Switch语句
在这个switch函数中,表达式被匹配到案例列表中。如果找到了匹配,那么它就打印出该案例的值。这里没有默认的案例。如果没有匹配的情况,则输出NULL,如示例所示。
语法
switch (expression, case1, case2, case3,..., case n )
流程图:
例子
输出