RNGseq {rngtools} | R Documentation |
Generate Sequence of Random Streams
Description
These functions are used to generate independent streams of random numbers.
Usage
RNGseq(n, seed = NULL, ..., simplify = TRUE, version = 2)
RNGseq_seed(seed = NULL, normal.kind = NULL, sample.kind = NULL,
verbose = FALSE, version = 2)
Arguments
n |
Number of streams to be created |
seed |
seed specification used to initialise the set of streams
using |
... |
extra arguments passed to |
simplify |
a logical that specifies if sequences of length 1 should be unlisted and returned as a single vector. |
version |
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 |
normal.kind |
Type of Normal random generator passed to base::RNGkind. See |
sample.kind |
Type of Discrete Uniform random generator passed to base::RNGkind. See |
verbose |
logical to toggle verbose messages |
Value
a list of integer vectors (or a single integer vector if
n=1
and unlist=TRUE
).
a 7-length numeric vector.
Functions
-
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"
(seeRNG
).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 byRNGseq
.
See Also
Examples
RNGseq(3)
RNGseq(3)
RNGseq(3, seed=123)
# or identically
set.seed(123)
identical(RNGseq(3), RNGseq(3, seed=123))
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))