Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
并行使用plyr_R_Foreach_Parallel Processing_Plyr - Fatal编程技术网

并行使用plyr

并行使用plyr,r,foreach,parallel-processing,plyr,R,Foreach,Parallel Processing,Plyr,我正在读取一个XML文件,希望尝试使用foreach和doSNOW来提高性能,但是在使用plyr时,我遇到了一个错误。我想这可能是因为我错过了将函数和包发送给工人的方法 library(foreach) library(doSNOW) cl <- makeCluster(4) registerDoSNOW(makeCluster(4, type = "SOCK")) > getDoParWorkers() [1] 4 > getDoParName()

我正在读取一个XML文件,希望尝试使用foreach和doSNOW来提高性能,但是在使用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)))

?foreach
然后查看
.packages
参数

?foreach
然后查看
.packages
参数

+1。另外,@Sam35,您的第四行应该是
registerDoSNOW(cl)
。此外,不需要为
名称列表
(它无论如何都不会工作)。相反,让
llply
的结果直接转到
out1
,如果你拿出
namelist[[i]],他们会看到的。谢谢你们,这非常有帮助+1。另外,@Sam35,您的第四行应该是
registerDoSNOW(cl)
。此外,不需要为
名称列表
(它无论如何都不会工作)。相反,让
llply
的结果直接转到
out1
,如果你拿出
namelist[[i]]他们会这样做。谢谢你们,这非常有用。如果你能在它工作后将其作为一个自包含的示例重新发布,那就太好了。根是什么,它当然需要一个库(XML)。如果您能在它工作后将其作为一个自包含的示例重新发布,那就太好了。什么是根,它当然需要一个库(XML)。
Error in { : task 1 failed - "could not find function "llply""