Learn R Programming

rngtools (version 1.5.2)

RNGseed: Directly Getting or Setting the RNG Seed

Description

These functions provide a direct access to the RNG seed object .Random.seed.

Usage

RNGseed(seed)

RNGrecovery()

Arguments

seed

an RNG seed, i.e. an integer vector. No validity check is performed, so it must be a valid seed.

Value

invisibly the current RNG seed when called with no arguments, or the -- old -- value of the seed before changing it to seed.

Functions

  • RNGseed: directly gets/sets the current RNG seed .Random.seed. It can typically be used to backup and restore the RNG state on exit of functions, enabling local RNG changes.

  • RNGrecovery: recovers from a broken state of .Random.seed, and reset the RNG settings to defaults.

Examples

Run this code
# NOT RUN {
#--- RNGseed ---

# get current seed
RNGseed()
# directly set seed
old <- RNGseed(c(401L, 1L, 1L))
# show old/new seed description
showRNG(old)
showRNG()

# set bad seed
RNGseed(2:3)
try( showRNG() )
# recover from bad state
RNGrecovery()
showRNG()

# example of backup/restore of RNG in functions
f <- function(){
	orng <- RNGseed()
 on.exit(RNGseed(orng))
	RNGkind('Marsaglia')
	runif(10)
}

sample(NA)
s <- .Random.seed
f()
identical(s, .Random.seed)
# }
# NOT RUN {

# }

Run the code above in your browser using DataLab