gpt4 book ai didi

r - 为什么plyr包不使用我的并行后端?

转载 作者:行者123 更新时间:2023-12-04 05:04:04 26 4
gpt4 key购买 nike

我正在尝试将R中的parallel包用于并行操作,而不是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)

这很好,产生了我两列的总和。但是,如果我尝试引入并行程序包:
library(parallel)
nodes <- detectCores()
cl <- makeCluster(nodes)
setDefaultCluster(cl)

aaply(arr,.margin=1,function(x){x[1]+x[2]},.parallel=T)

引发错误
2: In setup_parallel() : No parallel backend registered
3: executing %dopar% sequentially: no parallel backend registered

我初始化后端错了吗?

最佳答案

尝试以下设置:

library(doParallel)
library(plyr)

nodes <- detectCores()
cl <- makeCluster(nodes)
registerDoParallel(cl)

aaply(ozone, 1, mean,.parallel=TRUE)

stopCluster(cl)

由于我从未使用 plyr进行并行计算,所以我不知道为什么会发出警告。无论如何,结果是正确的。

关于r - 为什么plyr包不使用我的并行后端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15642722/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com