**Thinking inside the box**, and kindly contributed to R-bloggers)

RDieHarder

is an

R

package providing access to the

DieHarder

battery of tests for random number generators developed by Robert G. Brown

and others.

DieHarder

had been updated to version 3.1.1 a while back, and I had been a little

behind with updating RDieHarder.

Version 0.1.2 rectifies this.

The package still comes with a vignette describing both

DieHarder

and the

RDieHarder

package. And because pictures speak louder than a thousand (blogged) words,

here is the first chart from the vignette:

On the left, we have a poor random-number generator (RNG), the older

`ran0`

function. The histogram illustrating the distribution of

test scores is somewhat uneven. An ideal (and asymptotic) outcode is a

uniform distribution of p-values from the test. The empirical cumulative

distribution function (ECDF) below indicates a somewhat pronounced departure from

the diagonal. Informally speaking, this is what the

(Kuiper-)Kolmogorov-Smirnov test quantifies, and we see (in the text in the

chart) that the null of can be rejected an conventional levels. Based on

this example (which had a short run-time with few samples) we would indeed mistrust

this (known bad) RNG.

On the right, we have a more recent and trusted RNG, the well-known

Mersenne

Twister. The ten histogram buckets are all closer to the expected value

of one-tenth, the estimated density is closer to flat, the ECDF is closer to

the diagonal and the tests don’t reject—so no reason to mistrust this RNG

based on this test alone.

RDieHarder

lets you run a battery of such tests against a boatload of known RNGs. Here

is a second example, comparing the six RNGs built into

R

itself:

And these six look fine, as you’d expect. (And yes, the ECDF charts should

each be on a square plot. Another time…)

Courtesy of

CRANberries, there is also a diffstat report

for 0.1.2 relative to the older 0.1.1 release.

More detailed information is on the RDieHarder page.

**leave a comment**for the author, please follow the link and comment on their blog:

**Thinking inside the box**.

R-bloggers.com offers

**daily e-mail updates**about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...