所以我在R中使用foreach循环来实现并行性,并且当迭代获得确定的值时我需要停止它,我一直在寻找这个,但是我没有找到答案,我开始认为是不可能的。
我了解到,foreach的整体思想是每次迭代都在不同的内核中运行,所以也许我只是无法获得其他迭代的值,我可以使用when选项尝试如下:
library(doParallel)
x=0
x<-foreach(n = 1:100) %:% when (x[n-1]<40) %do% {
y<-n*2
return(y)
}
上一个代码的想法是当数字达到40时停止循环,但是显示长度为零的错误。
我也尝试下一个并中断,但是它不会停止,有什么想法吗?
在上面的示例中,当循环中的返回值(y)大于20时,我需要一种方法来停止foreach