目录
1.if 条件语句
(1)if / else 函数多用于两分支,其使用格式为:
#形式1:如果条件 cond 成立,则执行表达式 expr ,否则跳过
if(cond) expr
#形式2:如果条件 cond 成立,则执行表达式 cons.expr
# 否则,执行表达式 alt.expr
if(cond) cons.expr else alt.expr
实例1:
n = 10
if(n>1) print(n)
结果展示:
> n = 10
> if(n>1) print(n)
[1] 10
实例2:
n = 0
if(n>1) print(n) else print(n+1)
结果展示:
> n = 0
> if(n>1) print(n) else print(n+1)
[1] 1
(2)if / else 嵌套使用,实现多分支语句
#格式为
if( cond_1 ){
expr_1
}else if( cond_2 ){
expr_2
}else if(cond_3 ){
expr_3
}else{
expr_4
}
实例:
#if语句嵌套使用
age = 10
if(age < 18){
print("未成年")
}else if(age < 60){
print("成年")
}else{
print("老年")
}
结果展示:
> age = 10
> if(age < 18){
+ print("未成年")
+ }else if(age < 60){
+ print("成年")
+ }else{
+ print("老年")
+ }
[1] "未成年"
注:可能出现的错误
> else{
Error: unexpected 'else' in "else"
这是因为最后一个 else 没有和之前的“ } ”仅仅挨在一起,R语言会错误认为前一个“ if 函数”已经结束了,于是最后“ else ”没有匹配的对象,最终导致报错。
age = 10
if(age < 18){
print("未成年")
}else if(age < 60){
print("成年")}
else{
print("老年")
}
(3)ifelse()函数
二分支语句可以用ifelse()函数实现
#结构为
#ifelse(con,TRUE,FALSE)
实例:
n = 1
ifelse(n<2,n,n+1)
结果展示:
> ifelse(n<2,n,n+1)
[1] 1
2.switch() 函数
switch函数多用于多分支情况
(1)选择执行对应位置的表达式
实例:
switch(1,2+3,2*3,2/3)
switch(2,2+3,2*3,2/3)
switch(3,2+3,2*3,2/3)
switch(6,2+3,2*3,2/3)#超过表达式的数量则无返回
结果展示:
> switch(1,2+3,2*3,2/3)
[1] 5
> switch(2,2+3,2*3,2/3)
[1] 6
> switch(3,2+3,2*3,2/3)
[1] 0.6666667
> switch(6,2+3,2*3,2/3)
(2)如果选择值有元素名,泽当表达式等于元素名时,返回变量对应的值,否则无返回值
实例:
y = "fruit"
switch(y,fruit = "banana",cegetable = "broccoli")
结果展示:
> y = "fruit"
> switch(y,fruit = "banana",cegetable = "broccoli")
[1] "banana"