2016-09-18 3 views
-2

私はforループを使用すると、とbreakステートメントで通常ifの構文があります。いくつかの問題と論理的なステップを解決するには、それが必要です。しかし、私はforeachパッケージにnext,breakステートメントを使用することができません。どのようにしてforeachループ構造内のこれらのステートメントを使用できますか?foreachでステートメント "next"/"break"を使用する方法

+0

[次のRevolution Rのforeachパッケージの複製は可能ですか?](http://stackoverflow.com/questions/7707467/next-with-revolution-rs-foreach-package) – 989

答えて

0

foreachパッケージを使用するときの一般的な考え方は、すべての反復を並行して実行できることです。したがって、Nの反復とNのCPUがあれば(スレッド通信を無視して)、完璧なスピードアップが得られます。

breakの代わりに、できるだけ早くNAまたは0を返してください。例

library("foreach") 
f = function(i) if(i < 3) sqrt(i) else NA 
foreach(i=1:5) %do% f(i) 

のために今あなたがi=4i=5ためのリソースを無駄にしているが、これは、ナノ/マイクロ秒になると、あなたの総計算は秒/分単位で測定されていることを主張することができます。

関連する問題