武林网
首页 > 编程 > 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("成绩不合理")
}

本文(完)

上一篇:R语言中使用read.table()函数读取文件中的数据

下一篇:R语言中ifelse()函数

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
学习交流
热门图片
猜你喜欢的新闻
猜你喜欢的关注

新闻热点

疑难解答

图片精选

网友关注

关于本站 - 网上投稿 - 商务合作 - 隐私政策 - 网站地图
Copyright © 2008 - 2023 VEVB.COM. All Rights Reserved.武林网 版权所有

AltStyle によって変換されたページ (->オリジナル) /