set.seed
in the simEd
package allows the user to simultaneously
set the initial seed for both the stats
and simEd
variate
generators.
set.seed(seed, kind = NULL, normal.kind = NULL)
a single value, interpreted as an integer, or NULL
(see 'Details')
character or NULL
. This is passed verbatim to
base::set.seed
.
character or NULL
. This is passed verbatim to
base::set.seed
.
set.seed
returns NULL
, invisibly, consistent with
base::set.seed
.
This function intentionally masks the base::set.seed
function, allowing
the user to simultaneously set the initial seed for the stats
variate
generators (by explicitly calling base::set.seed
) and for the
simEd
variate generators (by explicitly setting up 10 streams using the
rstream.mrg32k3a
generator from the rstream
package).
Any call to set.seed
re-initializes the seed for the stats
and
simEd
generators as if no seed had been set.
If called with seed = NULL
, both the stats
and simEd
variate
generators are re-initialized using a random seed based on the system clock.
If the user wishes to set the seed for the stats
generators without
affecting the seeds of the simEd
generators, an explicit call to
base::set.seed
can be made.
Note that once set.seed
is called, advancing the simEd
generator
state using any of the stream-based simEd
variate generators will not
affect the state of the non-stream-based stats
generators, and
vice-versa.
As soon as the simEd
package is attached (i.e., when simEd
is
the parent of the global environment), simEd::set.seed
becomes the
default for a call to set.seed
. When the simEd
package is
detached, base::set.seed
will revert to the default.
# NOT RUN {
set.seed(8675309)
rexp(3, rate = 2) # explicit call of stats::rexp
set.seed(8675309)
vexp(3, rate = 2) # also uses stats::rexp
set.seed(8675309)
vexp(3, rate = 2, stream = 1) # uses rstream and stats::qexp
vexp(3, rate = 2, stream = 2)
rexp(3, rate = 2) # explicit call of stats::rexp, starting with seed 8675309
set.seed(8675309)
vexp(1, rate = 2, stream = 1) # uses rstream and stats::qexp
vexp(1, rate = 2, stream = 2)
vexp(1, rate = 2, stream = 1)
vexp(1, rate = 2, stream = 2)
vexp(1, rate = 2, stream = 1)
vexp(1, rate = 2, stream = 2)
vexp(3, rate = 2) # calls stats::rexp, starting with seed 8675309
# }
Run the code above in your browser using DataLab