Muc*_*eam 3 parallel-processing foreach loops r
以下是我试图在R中运行的并行循环:
cl <- makeCluster(30,type="SOCK")
registerDoSNOW(cl)
results <- foreach (i = 1:30, .combine='bindlist', .multicombine=TRUE) %dopar% {
test <- i
test <- as.list(test)
list(test)
}
stopCluster(cl)
Run Code Online (Sandbox Code Playgroud)
我的代码的输出始终是一个列表,我想将列表组合成一个大列表。因此,我编写了以下.combine函数:
bindlist <- function(x,y,...){
append(list(x),list(y),list(...))
}
Run Code Online (Sandbox Code Playgroud)
当我进行多次运行时,我尝试使用变量的数量更改...。但是,它不起作用。我该如何重写.combine函数,使其可以与更改变量数一起使用?
您是否考虑过使用“ c”
results <- foreach (i = 1:4, .combine='c', .multicombine=TRUE) %dopar% {
test <- i
test <- as.list(test)
list(test)
}
Run Code Online (Sandbox Code Playgroud)
如果这为您的结果增加了一个多余的“级别”,则可以使用“取消列表”删除该级别。
unlist(results, recursive = FALSE)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
579 次 |
| 最近记录: |