Почему foreach и ginv не работают вместе в R - PullRequest
0 голосов
/ 05 июня 2018

Я пробую параллельную реализацию в R. Сначала я попробовал этот наивный пример, который отлично работал на моем сервере.

library(doParallel)
cl <- makeCluster(2)
registerDoParallel(cl)
foreach(i=1:3) %dopar% sqrt(i)

Я пытался использовать ginv вместе с foreach.Но R выдает ошибку, говоря.

Ошибка в {: задача 1 не выполнена - "не удалось найти функцию" ginv ""

Вот простой воспроизводимый пример:

foreach (i = 1:50) %dopar% {
  ginv(matrix(rexp(10000, rate=.01), ncol=100))

}

Я уверен, что я что-то упустил.Можете ли вы помочь?Спасибо!

1 Ответ

0 голосов
/ 05 июня 2018

Функция ginv() происходит из пакета (возможно, MASS, но есть и другие версии в CRAN), который не был загружен на рабочие машины.Либо используйте полное имя (например, MASS::ginv, либо укажите foreach для загрузки пакета, например,

foreach(..., .packages = "MASS") ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...