Pat*_*thy 8 parallel-processing r plyr
我正在尝试使用parallelR中的包进行并行操作,而不是doSNOW因为它是内置的,表面上是R Project想要的东西.我做错了,但我不能确定.以此为例:
a <- rnorm(50)
b <- rnorm(50)
arr <- matrix(cbind(a,b),nrow=50)
aaply(arr,.margin=1,function(x){x[1]+x[2]},.parallel=F)
Run Code Online (Sandbox Code Playgroud)
这很好用,产生了我的两列的总和.但是,如果我尝试引入并行包:
library(parallel)
nodes <- detectCores()
cl <- makeCluster(nodes)
setDefaultCluster(cl)
aaply(arr,.margin=1,function(x){x[1]+x[2]},.parallel=T)
Run Code Online (Sandbox Code Playgroud)
它抛出错误
2: In setup_parallel() : No parallel backend registered
3: executing %dopar% sequentially: no parallel backend registered
Run Code Online (Sandbox Code Playgroud)
我初始化后端错了吗?
Rol*_*and 23
试试这个设置:
library(doParallel)
library(plyr)
nodes <- detectCores()
cl <- makeCluster(nodes)
registerDoParallel(cl)
aaply(ozone, 1, mean,.parallel=TRUE)
stopCluster(cl)
Run Code Online (Sandbox Code Playgroud)
由于我从未使用plyr并行计算,我不知道为什么会发出警告.结果无论如何都是正确的.
| 归档时间: |
|
| 查看次数: |
5886 次 |
| 最近记录: |