gpt4 book ai didi

r - Foreach .combine 函数来组合 R 中的列表

转载 作者:行者123 更新时间:2023-12-03 16:04:23 24 4
gpt4 key购买 nike

以下是我试图在 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)

我的代码的输出始终是一个列表,我想将列表合并为一个大列表。因此我编写了以下 .combine 函数:
bindlist <- function(x,y,...){
append(list(x),list(y),list(...))
}

当我进行多次运行并且变量数量发生变化时,我尝试使用 ... .但是它不起作用。如何重写 .combine 函数,以便它可以处理变量数量的变化?

最佳答案

你有没有考虑使用'c'

results <- foreach (i = 1:4, .combine='c', .multicombine=TRUE) %dopar% {
test <- i
test <- as.list(test)
list(test)
}

如果这在您的结果中添加了额外的不需要的“级别”,您可以使用“取消列出”来删除该级别。
unlist(results, recursive = FALSE)

关于r - Foreach .combine 函数来组合 R 中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53071005/

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