%dorng%

0th

Percentile

Reproducible Parallel Foreach Backend

%dorng% is a foreach operator that provides an alternative operator %dopar%, which enable reproducible foreach loops to be performed.

Usage
obj %dorng% ex
Arguments
obj

a foreach object as returned by a call to foreach.

ex

the R expression to evaluate.

Value

%dorng% returns the result of the foreach loop. See %dopar%. The whole sequence of RNG seeds is stored in the result object as an attribute. Use attr(res, 'rng') to retrieve it.

See Also

foreach, doParallel , registerDoParallel, doMPI

Aliases
  • %dorng%
Examples
# NOT RUN {

library(doParallel)
cl <- makeCluster(2)
registerDoParallel(cl)

# standard %dopar% loops are _not_ reproducible
set.seed(1234)
s1 <- foreach(i=1:4) %dopar% { runif(1) }
set.seed(1234)
s2 <- foreach(i=1:4) %dopar% { runif(1) }
identical(s1, s2)

# single %dorng% loops are reproducible
r1 <- foreach(i=1:4, .options.RNG=1234) %dorng% { runif(1) }
r2 <- foreach(i=1:4, .options.RNG=1234) %dorng% { runif(1) }
identical(r1, r2)
# the sequence os RNG seed is stored as an attribute
attr(r1, 'rng')

# stop cluster
stopCluster(cl)

# More examples can be found in demo `doRNG`
# }
# NOT RUN {
demo('doRNG')
# }
# NOT RUN {
# }
Documentation reproduced from package doRNG, version 1.7.1, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.