在for循环中移除一些我应该转换for循环

时间:2017-11-08 22:40:19

标签: r for-loop if-statement

我想在for循环中使用if语句迭代i,以便if语句删除一些循环应该重复的i。 所以看起来像这样:

iterations <- c(1,2,3,4)
for(i in iterations) { ## i will go from 1 to 4
  if(bla bla bla) {
    d <- bla bla bla ## say, d=4 when i=1
    iterations <- iterations[-d] ## i will now go from 1 to 3
   }
 }

但我认为这段代码不起作用。

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以保留要跳过的数字列表,在需要时添加,然后使用i跳过next

iterations <- c(1,2,3,4)
# Empty list of numbers to skip
skips <- numeric(0)
for(i in iterations) { ## i will go from 1 to 4
    if (i %in% skips) {
        next
    }
    if(i == 1) {
        d <- 4
        skips <- c(skips, d)
    }
    print(i)
}