R параллельный пакет - ошибка передает аргументы для парелизации задачи - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть пример функции ratio_sim_vec(x1, x2, nrep = 1000), которая возвращает соотношение средних значений x1 и x2 после алгоритма начальной загрузки runnnig. Мне нравится улучшать его сейчас, запустив его на нескольких кластерах.

Вот код, который у меня есть, и я получаю следующую ошибку:

Error in clusterExport(cl, ratio_sim_vec, x1, x2, nrep): unused arguments (x2, nrep)

ratio_sim_par <- function(x1, x2, nrep = 1000) {

        # Initiate cluster
        cl <- makeCluster(7)

        clusterExport(cl, ratio_sim_vec, x1, x2, nrep) # to export the current state of the whole R master session

        calls <- list("ratio_sim_vec", list(x1, x2, nrep)) 

        Tboot <- parSapply(cl,
              calls,
              function(call) {
                do.call(call[[1]])
              })

        stopCluster(cl)

        return(Tboot)

}

bpar <- ratio_sim_par(x1, x2, 10) #0000)
Error in clusterExport(cl, ratio_sim_vec, x1, x2, nrep): unused arguments (x2, nrep)

Может ли кто-нибудь указать на мою ошибку? Спасибо

1 Ответ

0 голосов
/ 12 апреля 2020

Использование этого решило проблему:

clusterExport(cl, varlist=c("x1", "x2", "nrep"), envir=environment())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...