Я читаю в XML-файле и хочу попробовать улучшить производительность с помощью foreach и doSNOW, однако при использовании plyr я столкнулся с ошибкой. Я думаю, это может быть потому, что я пропустил способ отправить функции и пакеты рабочим.Параллельный с использованием plyr
library(foreach)
library(doSNOW)
cl <- makeCluster(4)
registerDoSNOW(makeCluster(4, type = "SOCK"))
> getDoParWorkers()
[1] 4
> getDoParName()
[1] "doSNOW"
> getDoParVersion()
[1] "1.0.5"
namelist = list()
out1 <- foreach(i = 1:xmlSize(root[[3]])) %dopar% {
namelist[[i]] <- llply(xmlToList(root[[3]][[i]][[2]]),
data.frame, .parallel = TRUE)
}
out2 <- t(as.vector(as.data.frame(namelist)))
Генерирует ошибку:
Error in { : task 1 failed - "could not find function "llply""
Было бы хорошо, если бы вы могли перепечатывать его в качестве самодостаточного, например, когда он работает. Что такое root, и для него, безусловно, требуется библиотека (XML). –