
Last chance! 50% off unlimited learning
Sale ends in
These functions are used to generate independent streams of random numbers.
RNGseq(n, seed = NULL, ..., simplify = TRUE, version = 2)RNGseq_seed(seed = NULL, normal.kind = NULL, sample.kind = NULL,
verbose = FALSE, version = 2)
Number of streams to be created
seed specification used to initialise the set of streams
using RNGseq_seed
.
extra arguments passed to RNGseq_seed
.
a logical that specifies if sequences of length 1 should be unlisted and returned as a single vector.
version of the function to use, to reproduce old behaviours.
Version 1 had a bug which made the generated stream sequences share most of their
seeds (!), as well as being not equivalent to calling set.seed(seed); RNGseq_seed(NULL)
.
Version 2 fixes this bug.
Type of Normal random generator passed to base::RNGkind. See RNG
.
Type of Discrete Uniform random generator passed to base::RNGkind. See RNG
.
Note that this argument is valid for R >= 3.6.0, and an error will be thrown if one tries to use it in previous
versions of R.
logical to toggle verbose messages
a list of integer vectors (or a single integer vector if
n=1
and unlist=TRUE
).
a 7-length numeric vector.
RNGseq
: Creates a given number of seeds for L'Ecuyer's RNG, that can be used to seed
parallel computation, making them fully reproducible.
This ensures complete reproducibility of the set of run.
The streams are created using L'Ecuyer's RNG, implemented in R core since
version 2.14.0 under the name "L'Ecuyer-CMRG"
(see RNG
).
Generating a sequence without specifying a seed uses a single draw of the current RNG. The generation of a sequence using seed (a single or 6-length numeric) a should not affect the current RNG state.
RNGseq_seed
: generates the -- next -- random seed used as the first seed in
the sequence generated by RNGseq
.
# NOT RUN {
RNGseq(3)
RNGseq(3)
RNGseq(3, seed=123)
# or identically
set.seed(123)
identical(RNGseq(3), RNGseq(3, seed=123))
# }
# NOT RUN {
RNGseq(3, seed=1:6, verbose=TRUE)
# select Normal kind
RNGseq(3, seed=123, normal.kind="Ahrens")
## generate a seed for RNGseq
# random
RNGseq_seed()
RNGseq_seed()
RNGseq_seed(NULL)
# fixed
RNGseq_seed(1)
RNGseq_seed(1:6)
# `RNGseq_seed(1)` is identical to
set.seed(1)
s <- RNGseq_seed()
identical(s, RNGseq_seed(1))
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab