, ты можешь помочь мне с этим?
ользую пакет контрольных точек для воспроизводимого анализа данных. Некоторые из вычислений занимают много времени, поэтому я хочу запустить их параллельно. Однако при параллельном запуске контрольная точка не устанавливается на рабочих, поэтому я получаю сообщение об ошибке"нет пакета под названием xy" (потому что он не установлен в моей библиотеке по умолчанию).
Как я могу убедиться, что каждый работник использует версии пакетов в папке контрольных точек? Я пытался установить .libPaths в коде foreach, но это, похоже, не работает. Я также предпочел бы установить контрольную точку / libPaths один раз глобально, а не при каждом вызове foreach.
Другим вариантом может быть изменение файла .Rprofile, но я не хочу этого делать.
checkpoint::checkpoint("2018-06-01")
library(foreach)
library(doFuture)
library(future)
doFuture::registerDoFuture()
future::plan("multisession")
l <- .libPaths()
# Code to run in parallel does not make much sense of course but I wanted to keep it simple.
res <- foreach::foreach(
x = unique(iris$Species),
lib.path = l
) %dopar% {
.libPaths(lib.path)
stringr::str_c(x, "_")
}
Ошибка в {: задача 2 не выполнена - «нет пакета с именем 'stringr'"