我一直在寻找一个并行使用ddply()的简单工作示例。我已经安装了“foreach”软件包,但是当我调用ddply(.parallel = TRUE)时,我收到一条警告,提示“没有注册并行后端”)
有人可以提供一个并行使用ddply的简单工作示例吗?
最佳答案
这是一个简单的工作示例:
> df <- data.frame(val=1:10, ind=c(rep(2, 5), rep(3, 5)))
> library(doSNOW)
> registerDoSNOW(makeCluster(2, type = "SOCK"))
> system.time(print(ddply(df, .(ind), function(x) { Sys.sleep(2); sum(x) }, .parallel=FALSE)))
ind V1
1 2 25
2 3 55
user system elapsed
0.00 0.00 4.01
> system.time(print(ddply(df, .(ind), function(x) { Sys.sleep(2); sum(x) }, .parallel=TRUE)))
ind V1
1 2 25
2 3 55
user system elapsed
0.02 0.00 2.02
关于r - 在Windows上并行运行ddply()的简单工作示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6780091/