条件が満たされた場合、plyrコマンドでブレークを正しく指示する方法はありますか?R plyr and break
plyr::l_ply(1:10,function(x){
print(x)
if(x > 5) break
})
> Error in .fun(piece, ...) : no loop for break/next, jumping to top level
条件が満たされた場合、plyrコマンドでブレークを正しく指示する方法はありますか?R plyr and break
plyr::l_ply(1:10,function(x){
print(x)
if(x > 5) break
})
> Error in .fun(piece, ...) : no loop for break/next, jumping to top level
私はreturn
が正しい方法だと信じています。それはちょうど右に配置する必要があります。
plyr::l_ply(1:10,function(x){
if(x > 5){
return()
}
else{
print(x)
}
})
これは与える:
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
ええ、私はこれに気付いていますが、リストが1:1e6と言っていたのは、ループのショートカットです。 –
私は参照してください。だから、あなたはあなたの限界を破る最初の数字を見つけて、それまでにすべての数字を印刷したいのですか? – Chris
私は休憩したい、与えられた論理的条件は何でもかまいません、乱数を選んでください( 'runif(1)> 0.5)'、今日の天気は晴れ、教皇は子供に触れますか?ここで私の質問の目的:私の本当の問題は、このようなものではありません。私は論理的な条件を満たしていれば、早急にプライヤーコールをやめる必要があります。 –
利用リターンの代わり – rawr
ハズレを。上ではリターンを使用しても、1から10の数字がすべて印刷されます。 x> 5のときにプロセス全体が終了するようにしておきます。もちろん、これは私が取り組んでいる別の問題を代表する簡単な例です。 –
oh。間違った関数を使用しています – rawr