2017-11-08 17 views
1

forループをif文で繰り返し使用してif文を実行して、ループが終了するようにif文を削除したいとします。 だからのようなもの:forループ内でいくつかのforループを削除するには

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 
    } 
} 

でも、私は、このコードが動作するとは思いません。

ありがとうございました!

答えて

3

あなたは、スキップする番号のリストを維持し、必要なときにそれに追加し、nextiことを飛ばすことができます:

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) 
} 
+1

ニース1は、私は文字通り同じ溶液(唯一の違い 'ベクトルを書かれています''数値の代わりに ')しかし、あなたは速かった:) –

関連する問題