En changeant% dopar% en% do% en utilisant foreach, je peux exécuter le code séquentiellement. Comment puis-je faire cela par programme?Comment basculer par programme entre% do% et% dopar% dans foreach?
E.g. Je veux que le suivant mais avec une seule instruction 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)
Si vous avez beaucoup de code à la place de 'impression (i)', alors peut-être le convertir en une fonction, ou utiliser 'source'. – zx8754
Cela pourrait être un mouvement intelligent mais je ne vois pas comment cela m'aide avec ma question. Le code était juste un exemple très non réaliste. – katsumi
C'était une suggestion simple, une solution de contournement. Essayer de comprendre la motivation pour le rendre programmatique. – zx8754