, ты можешь помочь мне с этим?

ользую пакет контрольных точек для воспроизводимого анализа данных. Некоторые из вычислений занимают много времени, поэтому я хочу запустить их параллельно. Однако при параллельном запуске контрольная точка не устанавливается на рабочих, поэтому я получаю сообщение об ошибке"нет пакета под названием 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'"

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

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