gpt4 book ai didi

r - 如何在 foreach 中以编程方式在 %do% 和 %dopar% 之间切换?

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

通过在使用 foreach 时将 %dopar% 更改为 %do%,我可以按顺序运行代码。如何以编程方式执行此操作?

例如。我想要以下但只有一个 foreach 语句:

library(doParallel)
library(foreach)

registerDoParallel(cores = 4)

runner <- function(parallel = FALSE) {
if (parallel)
foreach(i=1:10) %dopar% {
print(i)
}
else
foreach(i=1:10) %do% {
print(i)
}
}

runner()
runner(TRUE)

最佳答案

您可以使用 ifelse选择中缀函数:

runner <- function(parallel = FALSE) {
`%myinfix%` <- ifelse(parallel, `%dopar%`, `%do%`)
foreach(i=1:10) %myinfix% {
print(i)
}
}

关于r - 如何在 foreach 中以编程方式在 %do% 和 %dopar% 之间切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43733271/

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