首页 > 编程 > R > 正文

R语言中if结构的使用

2023-05-01 13:45:45
字体:
来源:转载
供稿:网友

与其它高级语言类似,R中也有自己的控制结构,主要包括分支结构和循环结构。灵活使用R的控制结构可以帮助我们处理更加复杂的数据分析任务。

本文首先探讨R中分支结构的if...else结构。

if/else分支结构主要用于两种分支情况下,主要使用格式有三种情况:

(1)只有一个if的结构

if(cond) {expr}

即当括弧中的cond条件为TRUE时,则执行表达式expr,否则跳过后执行其后的语句。

(2)if...else结构

if(cond) {cons.expr} else {alt.expr}

即条件cond为TRUE时,则执行表达式cons.expr,否则执行alt.expr

(3)if的嵌套使用

常见形式如下:

if(cond_1)
    {expr_1}
else if(cond_2)
   {expr_2}
else if(cond_3)
   {expr_3} else {expr_4}

注意:在上面的三种情况下,如果表达式只有一个时,可以省略大括号{};

同时,else部分不能单独在一行,即在else同一行中,else前面应有内容。除非,if...else放在大括号中。

下面是几个例子:

(1)单个if

num <- 6
if(num%%2==0)
    print("是偶数")
print("Hello,VeVb.com")

本例子中,%%为求余数运算符,如果num能被2整除余数为0,则输出是偶数,同时不管if的条件是否满足,Hello,VeVb.com的内容都会被输出来。

运行效果如下图所示

R语言中if分支结构

(2)if...else

num<-6
if(num%%2==0)
    print("是偶数")  else  print("是奇数")   #else不能单独一行,否则报错:意外的'else' in "else"

print("Hello,VeVb.com")

下图给出了num为5,num为6,else单独一行时,if...else放在大括号中时的4中情况下的输出情况:

R语言中if的使用方式

(3)if/else的嵌套情况

score <- 89
if( score>=0 && score<60)
  print("不及格")   else if(score < 70)
  print("及格")      else if(score < 80)
  print("中等")     else if(score < 90)
  print("良好")    else if(score <= 100)
  print("优秀")   else
  print("成绩不合理")

若将以上内容放在大括号中,会更加直观一些,如下:

score <- 89
{
if( score>=0 && score<60)
    print("不及格")
else if(score < 70)
    print("及格")     
else if(score < 80)
    print("中等")     
else if(score < 90)
    print("良好")   
else if(score <= 100)
    print("优秀")   
else
    print("成绩不合理")
}

本文(完)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表