在控制流中使用Next

时间:2012-02-14 00:05:17

标签: r

control flow help page似乎没有“下一次”用法的例子。我希望它根据脚本中的条件跳到下一个迭代。

使用下面的示例,假设我不希望它打印,除非x[i] > 5,预期输出将在屏幕上显示为5到10:

x <- 1:100
for(i in 1:10) {
# next(x[i] < 5) # Just for conceptualizing my question.
print(x[i])
}

我如何实施next的使用来完成上面显示的内容?

2 个答案:

答案 0 :(得分:15)

我会给你一个完整的例子和'是',但我不确定你的问题是什么:

R> for (i in 1:10) {
+     if (i < 5) next
+     print(i)
+ }
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
R> 

答案 1 :(得分:10)

要完成这项工作,您需要测试x < 5是否会转到nextnext将依次引用(引用帮助页面),“[暂停]当前迭代的处理和[提前]循环索引”,再次从循环开始。

x <- 1:100
for(i in 1:10) {
    if(x[i] < 5) next
    print(x[i])
}
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10