Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

rxunif

Simulate uniform variable from threefry generator


Description

Care should be taken with this method not to encounter the birthday problem, described https://www.johndcook.com/blog/2016/01/29/random-number-generator-seed-mistakes/. Since the sitmo threefry, this currently generates one random deviate from the uniform distribution to seed the engine threefry and then run the code.

Usage

rxunif(min = 0, max = 1, n = 1L, ncores = 1L)

Arguments

min

lower and upper limits of the distribution. Must be finite.

max

lower and upper limits of the distribution. Must be finite.

n

number of observations. If length(n) > 1, the length is taken to be the number required.

ncores

Number of cores for the simulation

rxnorm simulates using the threefry sitmo generator; rxnormV uses the vandercorput generator

Details

Therefore, a simple call to the random number generated followed by a second call to random number generated may have identical seeds. As the number of random number generator calls are increased the probability that the birthday problem will increase.

The key to avoid this problem is to run all simulations in the RxODE environment once (therefore one seed or series of seeds for the whole simulation) or to pre-generate all random variables used for the simulation.

Also care should be made that the computer you will be running on can run the same number of cores as you are running so they can reproduce your results.

Value

uniform random numbers

Examples

## Use threefry engine

rxunif(min=0, max=4, n=10) # with rxunif you have to explicitly state n
rxunif(min=0, max=4, n=10, ncores=2) # You can parallelize the simulation using openMP

rxunif()


## This example uses `rxunif` directly in the model

rx <- RxODE({
  a = rxunif(0,3)
})

et <- et(1,id=1:2)

s <- rxSolve(rx,et)

RxODE

Facilities for Simulating from ODE-Based Models

v1.0.9
GPL (>= 3)
Authors
Matthew L. Fidler [aut] (<https://orcid.org/0000-0001-8538-6691>), Melissa Hallow [aut], Wenping Wang [aut, cre], Zufar Mulyukov [ctb], Alan Hindmarsh [ctb], Awad H. Al-Mohy [ctb], Matt Dowle [ctb], Cleve Moler [ctb], David Cooley [ctb], Drew Schmidt [ctb], Arun Srinivasan [ctb], Ernst Hairer [ctb], Gerhard Wanner [ctb], Goro Fuji [ctb], Hadley Wickham [ctb], Jack Dongarra [ctb], Linda Petzold [ctb], Martin Maechler [ctb], Matteo Fasiolo [ctb], Morwenn [ctb], Nicholas J. Higham [ctb], Roger B. Sidje [ctb], Simon Frost [ctb], Kevin Ushey [ctb], Yu Feng [ctb]
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.