मुझे फ़ोरैच पैकेज में एक सुविधा/बग मिला है, जिसे मैं समझ नहीं पा रहा हूं। शायद कोई मुझे इस व्यवहार को समझा सकता है:foreach पैकेज में सूचियों का ढांचा
मैंने foreach
पैकेज के साथ एक फॉर-लूप बनाया है (मैं उन्हें मल्टीकोरोर गणनाओं के साथ एक साथ उपयोग करता हूं, लेकिन यहां केवल अनुक्रमिक उदाहरण में, बग दोनों प्रकारों में दिखाई देता है)। यह पाश r
बार चलाता है। प्रत्येक रन में c
प्रविष्टियों के साथ एक सूची लौटा दी जाती है। इसलिए मुझे r
प्रविष्टियों वाली एक सूची की उम्मीद है, और प्रत्येक प्रविष्टि में c
सूचियां शामिल हैं।
मेरे कोड के बाद एक था:
library(foreach)
clusters <- 10
runs <- 100
temp <- foreach(r = 1:runs,
.combine = 'list',
.multicombine = TRUE) %do% {
signal_all <- lapply(1:clusters, function(x){
return(1)
})
return(signal_all)
} ## end do
इस कोड के साथ
, सभी काम करता है के रूप में उम्मीद, निम्न चित्र देखें:
लेकिन जब runs <- 101
में वृद्धि, उत्पादन temp
है यह:
अपेक्षित सूची संरचना नष्ट हो गई है। लेकिन जब .combine = 'list'
लाइन पर टिप्पणी करते समय सभी काम अपेक्षित होते हैं।
library(foreach)
clusters <- 10
runs <- 100
temp <- foreach(r = 1:runs,
.multicombine = TRUE) %do% {
signal_all <- lapply(1:clusters, function(x){
return(1)
})
return(signal_all)
} ## end do
कोई इस व्यवहार की व्याख्या कर सकते हैं? किसी भी मदद के लिए धन्यवाद!