Skip to content

Commit 1bb74be

Browse files
committed
remove load_packages issue with foreach()
1 parent 3f85883 commit 1bb74be

File tree

2 files changed

+6
-13
lines changed

2 files changed

+6
-13
lines changed

R/analysis.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Analysis <- function(Functions, condition, replications, fixed_objects, cl, MPI,
33
boot_method, boot_draws, CI, save_seeds, save_seeds_dirname, load_seed,
44
export_funs, summarise_asis, warnings_as_errors, progress, store_results,
55
allow_na, allow_nan, use_try, stop_on_fatal, store_warning_seeds,
6-
include_replication_index)
6+
include_replication_index, packages)
77
{
88
# This defines the work-flow for the Monte Carlo simulation given the condition (row in Design)
99
# and number of replications desired
@@ -39,7 +39,7 @@ Analysis <- function(Functions, condition, replications, fixed_objects, cl, MPI,
3939
} else {
4040
if(MPI){
4141
i <- 1L
42-
results <- try(foreach(i=1L:replications, .export=export_funs) %dopar%
42+
results <- try(foreach(i=1L:replications, .export=export_funs, .packages=packages) %dopar%
4343
mainsim(i, condition=condition, generate=Functions$generate,
4444
analyse=Functions$analyse, fixed_objects=fixed_objects, load_seed=load_seed,
4545
max_errors=max_errors, save=save,

R/runSimulation.R

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1084,19 +1084,12 @@ runSimulation <- function(design, replications, generate, analyse, summarise,
10841084
parallel::parSapply(cl, 1L:(length(cl)*2),
10851085
function(ind, packages) load_packages(packages),
10861086
packages=packages)
1087-
} else {
1088-
foreach(p=1L:(length(cl)*2), packages=packages,
1089-
.packages = 'SimDesign') %dopar% load_packages(packages)
1090-
}
1087+
} # foreach() doesn't like load_packages()
10911088
for(i in 1:length(tmp)){
10921089
packs <- if(parallel){
10931090
try(table(parallel::parSapply(cl, rep(tmp[i], each=length(cl)*2),
10941091
get_packages)))
1095-
} else {
1096-
p <- character()
1097-
try(table(foreach(p=rep(tmp[i], each=length(cl)*2L),
1098-
.packages = 'SimDesign') %dopar% get_packages(p)))
1099-
}
1092+
} else "" # for foreach()
11001093
if(tmp[i] == 'stats') next
11011094
if(length(packs) > 1L)
11021095
message(sprintf('Warning message:\nVersions of %s differ across clusters: %s',
@@ -1127,7 +1120,7 @@ runSimulation <- function(design, replications, generate, analyse, summarise,
11271120
save_results_dirname=save_results_dirname,
11281121
save_seeds=save_seeds, summarise_asis=summarise_asis,
11291122
save_seeds_dirname=save_seeds_dirname,
1130-
max_errors=max_errors,
1123+
max_errors=max_errors, packages=packages,
11311124
include_replication_index=include_replication_index,
11321125
load_seed=load_seed, export_funs=export_funs,
11331126
warnings_as_errors=warnings_as_errors,
@@ -1158,7 +1151,7 @@ runSimulation <- function(design, replications, generate, analyse, summarise,
11581151
save_results_dirname=save_results_dirname,
11591152
save_seeds=save_seeds, summarise_asis=summarise_asis,
11601153
save_seeds_dirname=save_seeds_dirname,
1161-
max_errors=max_errors,
1154+
max_errors=max_errors, packages=packages,
11621155
include_replication_index=include_replication_index,
11631156
load_seed=load_seed, export_funs=export_funs,
11641157
warnings_as_errors=warnings_as_errors,

0 commit comments

Comments
 (0)