R foreach проблема (некоторые процессы возвращают NULL)

У меня проблема сforeach раздел программы, с которой я работаю в R. Программа используется для запуска моделирования для различных параметров, а затем возвращает результаты в единый список, который затем используется для создания отчета. Проблема возникает, когда не все назначенные прогоны симуляции действительно видны в отчете. Во всех отношениях создается впечатление, что фактически было назначено только подмножество назначенных прогонов.

Это более вероятно с большими наборами данных (например, с более длительными периодами времени для моделирования). Это реже происходит при новом запуске программы и более вероятно, если что-то уже занимает оперативную память. График использования памяти для системного монитора иногда достигает пика при 100% ОЗУ и 100% -ной перестановке, а затем резко падает, после чего исчезает один из четырех дочерних R-сеансов. Когда используешь.verbose вforeach()файл журнала показывает, что прогоны моделирования, которые не отображаются в отчете, возвращаются какNULLв то время как те, которые отображаются в отчете, возвращаются как обычно (список фреймов данных и символьных переменных). Один и тот же набор параметров может создать этот эффект или создать полный график; то есть набор параметров не является диагностическим.

foreach() используется примерно для десятка параметров..combine является ,cbind.inorder false, все остальные внутренние параметры, такие как.errorhandling по умолчанию.

Это, конечно, очень раздражает, так как моделирование может занять более двадцати минут, чтобы работать, только чтобы оказаться бесполезным из-за отсутствия данных. Есть ли способ либо гарантировать, что эти "упал» сеансы не сбрасываются, или что если они есть, то каким-то образом это ловится?

(Если оно'Важно, что используемый компьютер имеет восемь процессоров и, следовательно, запускает четыре дочерних процесса, а зарегистрированный параллельный оператор получен изDoMC пакет)

Код структурирован примерно следующим образом:

test.results 

Ответы на вопрос(1)

Ваш ответ на вопрос