-2
當我使用for
循環時,我通常有if
構造與next
和break
語句。解決一些問題和邏輯步驟只是需要。但是,我無法在foreach
包中使用next
,break
語句。我怎樣才能在foreach
循環結構中使用這些語句?如何使用語句「next」/「break」與foreach
當我使用for
循環時,我通常有if
構造與next
和break
語句。解決一些問題和邏輯步驟只是需要。但是,我無法在foreach
包中使用next
,break
語句。我怎樣才能在foreach
循環結構中使用這些語句?如何使用語句「next」/「break」與foreach
使用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=4
和i=5
,但是這無異於納米/微秒,你總計算以秒/分鐘計。
[下一個革命R的foreach包?]可能的重複?(http://stackoverflow.com/questions/7707467/next-with-revolution-rs-foreach-package) – 989