条件に基づいてforループ内の反復をスキップしたいと思います。私はそれが条件に基づいてforループのいくつかの繰り返しをスキップ
1
4
を返すようにしたいでしょう
for(i in 1:10){
if(i %in% c(1,2,3,4,5)){
print(i)
i <- i+2}
}
ではなく、それはなぜこれが起こっている私は承知しています
1
2
3
4
5
返します。直感的に私はこれが働くだろうと思いました。
Rのforループの条件に基づいて(複数の)反復をスキップする別の方法はありますか?
次のように直接何かをすると間違って何? 'for(i in 1:10){ if(%i%c(1,4)){ print(i)} }'です。あなたのコードがうまくいかない理由は、 'i < - i + 2'を使うことによってforループで' i'を実際に更新していないからです。 –
ループ内のforループインデックスをインクリメントするのは悪い習慣です。物事を追跡することを非常に混乱させます。 'while()'を使用してループ内でインクリメントするか、 'for()'を使い、手でインクリメントしないでください。またはより良い(特にR):ベクトル化するコード –
コメントありがとう! –