【发布时间】:2018-07-30 23:55:16
【问题描述】:
我的脚本中有一个复杂的循环,女巫需要太多时间才能结束(超过 1 小时)。如果可能的话,我想使用超过 1 个 CPU 内核来减少计算时间。
是否可以使用并行化来使用我的循环?
一般数据帧
TabR1
带有代码的向量,用于选择每个站点
vecsandre
功能
copy <- function (m) {
for (i in 1:m) {
TEST[[i]] <- TabR1[TabR1$CdStationMesureEauxSurface == vecsandre[i],]
}
}
列表以获取选择
TEST=list()
library(doParallel)
no_cores <- detectCores() - 1
grappe <- makeCluster(no_cores)
registerDoParallel(no_cores)
system.time(foreach(z=1:10) %dopar% copy(z))
stopCluster(grappe)
我试试这个,但我得到一个错误:
copy(z) 中的错误:任务 1 失败 - “objet 'TEST' introuvable”
【问题讨论】:
-
欢迎来到 StackOverflow!请阅读有关how to ask a good question 的信息以及如何提供reproducible example。这将使其他人更容易帮助您。
标签: r doparallel