R语言决策结构,if语句,if..else语句
在R语言中创建if
语句的基本模式
if(boolean_expression) {
// statement(s) will execute if the boolean expression is true.}
R
如果布尔表达式的值为真(true
),则if
语句中的代码块将被执行。如果布尔表达式的计算结果为假(false
),则if
语句结束后的第一组代码(在关闭大括号之后)将被执行。
if
语句的流程图如下 -
法
在R语言中创建if..else
语句的基本语法是 -
if(boolean_expression) {
// statement(s) will execute if the boolean expression is true.} else {
// statement(s) will execute if the boolean expression is false.}
R
如果布尔表达式求值为真(true
),那么将执行if
语句中的代码块,否则将执行else
语句中的代码块。
if...else
语句的流程图如下 -
if…else if…else语句
一个if
语句可以跟随一个可选的else if...else
语句,这对使用单个if...else else
语句来测试各种条件非常有用。
当使用if
,else if, else
语句时要注意几点。
if
语句可以有零个或一个else
,但如果有else if
语句,那么else
语句必须在else if
语句之后。if
语句可以有零或多else if
语句,else if
语句必须放在else
语句之前。当有一个
else if
条件测试成功,其余的else...if
或else
将不会被测试。
语法
> y<-10 > if(y>11){ + print("yes, i am right") + } else if(y>15){ + print("you are right") + } else { + print("he is right") + }[1] "he is right"在R语言中创建switch
语句的基本语法是 -
switch(expression, case1, case2, case3....)
R
以下规则适用于switch
语句 -
如果表达式的值不是字符串,则被强制转化为整数。
在
switch
内可有任意数量的case
语句。 每个case
语句后跟要比较的值和冒号。如果整数的值在
1
和nargs() - 1
(最大参数数)之间,则对条件的相应元素进行求值并返回结果。如果表达式计算为字符串,则该字符串与元素的名称匹配(正好)。
如果有多个匹配,则返回第一个匹配元素。
没有默认参数可使用。
在不匹配的情况下,如果有一个未命名的元素,则返回其值。(如果有多个此类参数返回错误)。
在R语言中switch
语句的流程图 -
x<-3
switch(x,2+2,mean(1:10),rnorm(4)) 执行的是rnorm(4)
x<-2
switch(x,2+2,mean(1:10),rnorm(4)) 执行的是mean(1:10)