句子大全

句子大全 > 好句子

R语言中的next语句和break语句的具体用法

好句子 2016-11-08 07:03:23
相关推荐

在循环结构中我们有时想终止某一次循环,即不再执行这次循环,但还要执行下次循环;还有时我们需要提前结束整个循环,即不再执行循环体中的任何内容了。我们知道在像C语言,C#语言,Java语言中可以分别使用continue语句和break语句来实现,那么在R语言中也是这样的吗?回答是不完全是这样的。在R语言中要终止某一次循环要使用next来实现,要终止整个循环就可以使用break语句来实现。

next的用法

next用于循环体中终止某一次循环,可以是本号前面提到的for循环,while循环和repeat循环。注意:当在循环体中遇到next时,它只是终止了这一次循环,而还要继续执行下一次循环。可以使用如下的图示说明:

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循环中实现该例的源代码如下图所示:

使用while和repeat的情形

break的用法

break用在循环体中用于结束整个循环。这在前面的文章中曾经用过break。break的用法示意图如下所示:

break的用法示意图

由图可以看出,在循环体中如果遇到了break,则执行会从循环体中跳出,执行循环体后面的语句(不会再进入循环体中)。这个用法在repeat语句中是非常有用的,否则repeat会陷入死循环。

break的用法举例

下面的例子是在repeat循环中计算π的近似值,所使用的方法如下公式:

求π的公式

这里编写了一个函数,源代码如下图所示:

求PI值的算法

说到这里,大家是否明白了next和break的用法了呢?欢迎留言一起与兴趣相同的人进行研究和探讨。

欢迎关注本号。本号将持续更新R语言方面的文章,内容由浅入深,由基本语法的使用到具体的数据分析应用。

阅读剩余内容
网友评论
相关内容
拓展阅读
最近更新