R for循环跳转到下一个迭代


92

假设您有一个像这样的for循环

for(n in 1:5) {
  #if(n=3) # skip 3rd iteration and go to next iteration
  cat(n)
}

如果满足特定条件,如何跳到下一个迭代?


8
相反,当条件满足跳绳,你应该不会跳过某个条件时没有得到满足-for(n in 1:5){if(n!=3){cat(n)}}
MichaelChirico

Answers:


162
for(n in 1:5) {
  if(n==3) next # skip 3rd iteration and go to next iteration
  cat(n)
}

5
整齐。到OP:查看?Control类似功能
MichaelChirico 2015年

的确是一个非常简洁的答案,如果我想做一些for(n in 1:5) { if(n==3) print ('3rd iteration' ) next # skip 3rd iteration and go to next iteration cat(n) }我想打印的事情 ,那我将要跳过第3次迭代,那会导致什么情况,那么在某些情况下,我们需要记录跳过的内容以使事情易于处理。对此有何想法?
杰森目标

1
@Jason Goal-您需要为该if声明添加额外的括号,例如for(n in 1:5) { if(n==3) { print ('3rd iteration' ) ; next } # skip 3rd iteration and go to next iteration cat(n) }
Alexey Ferapontov

谢谢@ Alexey Ferapontov,现在我明白了为什么在旧版本中不断出现“多余的括号”错误。
杰森·目标
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.