R语言中if语句使用方法之超详细教程
在R语言中,if属于一种分支结构,即根据某个条件执行相关的语句。R中的if语句与else配合主要有3种结构。
单个if语句
if(cond) {expr} 其它语句
即当括弧中的cond条件为TRUE时,则执行表达式expr,否则跳过后执行其后的语句。看下面的例子,例子中的%%是求模运算,即求两个数除法的余数。
num<-7
if(num%%2==0) print("是偶数")
print("执行完毕!")
将上面的例子的num改成一个偶数时:
从这两个例子中可以看出,if的条件如果满足,则执行仅挨着if语句的那一条语句,不满足则执行if语句后面的其它语句。if中可以有多个语句,看下面的例子:
if...else结构
其执行原理为:如果if后的条件满足,则执行if与else间的语句,否则执行离else最近的一条语句,如果if块和else块有多条语句,需要将多个语句放在花括号中。
if条件满足时的情况:
if条件不满足时的情况:
每个分支有多个语句时,需要放在花括号中:
需要注意的是,else不能单独成一行,它的前边必须有内容,哪怕像上面图中所示的一个花括号也可以,否则会报如下的错误:
改成下面的样子就可以正确了:
或者else单独成行时,也可以将if 和else语句整体放在一个花括号里:
多个if...else嵌套情况
有时我们在处理实际问题时,可能有多个条件,根据不同的条件选择不同的分支执行,其结构可能是:
(1) if(条件1){语句块1} else if(条件2){语句块2} ... else{语句块}
(2)if(条件){if(条件1){语句块1} else{语句块2} else if(条件2}{if(条件3}...else...} else...
这样就可以帮助我们实现更加复杂的处理。下面看一个例子,就是输入一个分数,输出其对应的等级。
如果将语句放在花括号里,要更加清晰一些:
欢迎关注本号。本号将持续更新R语言方面的文章,内容由浅入深,由基本语法到具体的数据分析应用,将我个人在实际中的工作心得分享给大家。