R语言——分支语句

目录

1.if 条件语句

2.switch() 函数


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"

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值