友情提示:本文共有 458 个字,阅读大概需要 1 分钟。
在循环结构中我们有时想终止某一次循环,即不再执行这次循环,但还要执行下次循环;还有时我们需要提前结束整个循环,即不再执行循环体中的任何内容了。我们知道在像C语言,C#语言,Java语言中可以分别使用continue语句和break语句来实现,那么在R语言中也是这样的吗?回答是不完全是这样的。在R语言中要终止某一次循环要使用next来实现,要终止整个循环就可以使用break语句来实现。
next的用法
next用于循环体中终止某一次循环,可以是本号前面提到的for循环,while循环和repeat循环。注意:当在循环体中遇到next时,它只是终止了这一次循环,而还要继续执行下一次循环。可以使用如下的图示说明:
图中所示的在循环体中,next前和后都有语句,当执行遇到next时,循环体中next后面的语句不会被执行到,而是跳转到循环体中的第一个语句执行,或者判断循环体的条件是否满足以进行下一次循环。
next用法举例
下面举一个例子来说明next的具体用法,该例用于输出向量中的奇数,脚本如下:
#输出向量中的奇数
vec<-c(9,31,28,82,43,87,12,58)
for(el in vec)
{
if(el %% 2 ==0)
next
print(el)
}
在R编辑器中的效果如下图所示:
其在R控制台中的执行结果如下图所示:
若在while或repeat循环中实现该例的源代码如下图所示:
break的用法
break用在循环体中用于结束整个循环。这在前面的文章中曾经用过break。break的用法示意图如下所示:
由图可以看出,在循环体中如果遇到了break,则执行会从循环体中跳出,执行循环体后面的语句(不会再进入循环体中)。这个用法在repeat语句中是非常有用的,否则repeat会陷入死循环。
break的用法举例
下面的例子是在repeat循环中计算π的近似值,所使用的方法如下公式:
这里编写了一个函数,源代码如下图所示:
说到这里,大家是否明白了next和break的用法了呢?欢迎留言一起与兴趣相同的人进行研究和探讨。
欢迎关注本号。本号将持续更新R语言方面的文章,内容由浅入深,由基本语法的使用到具体的数据分析应用。
本文如果对你有帮助,请点赞收藏《R语言中的next语句和break语句的具体用法》,同时在此感谢原作者。