原标题:R语言中灵活运用if实现根据不同条件执行不同的语句
在程序语言中,if一般属于一种分支结构,即根据某个条件执行相关的语句,在R中也不例外。同时,if语句与else配合可以运用到多种条件递归判断中。
单个if语句
if(cond) {expr} 其它语句
即当括弧中的cond条件为TRUE时,则执行表达式expr,否则跳过后执行其后的语句。
num
if(num %% 2 ==0) print("是偶数")
print("执行完毕!")
例子中的%%是求模运算,即求两个数除法的余数。将上面的例子的num改成一个偶数时:
从这两个例子中可以看出,if的条件如果满足,则执行仅挨着if语句的那一条语句,不满足则执行if语句后面的其它语句。if中可以有多个语句,看下面的例子:
if...else结构
其执行原理为:如果if后的条件满足,则执行if与else间的语句,否则执行离else最近的一条语句,如果if块和else块有多条语句,需要将多个语句放在花括号中。
if条件满足时的情况:
if条件不满足时的情况:
每个分支有多个语句时,需要放在花括号中:
每个分支有多个语句的情况
需要注意的是,else不能单独成一行,它的前边必须有内容,哪怕像上面图中所示的一个花括号也可以,否则会报如下的错误:
else一行前面无内容时会报错
改成下面的样子就可以正确了:
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语言方面的文章,内容由浅入深,由基本语法到具体的数据分析应用,将我个人在实际中的工作心得分享给大家。返回搜狐,查看更多
责任编辑: