From btyner at gmail.com  Tue Feb  7 13:12:06 2017
From: btyner at gmail.com (Benjamin Tyner)
Date: Tue, 7 Feb 2017 07:12:06 -0500
Subject: [Rd] package load altering RNG state
Message-ID: <54995b10-e094-1f26-6a18-a52d692d6404@gmail.com>

Hello

When loading a package, I'm wondering if it's frowned upon for the 
package to alter the state of the random number generator? I guess not, 
since the parallel package does it?

    > set.seed(6860)
    > old.seed <- .GlobalEnv$.Random.seed
    > library(parallel)
    > new.seed <- .GlobalEnv$.Random.seed
    > identical(old.seed, new.seed)
    [1] FALSE

I ask because, I found myself writing a custom wrapper around library() 
to restore the original RNG state, in order to increase reproducibility. 
But now wondering if others would welcome such a feature to be added to 
base R? Either something very general like

    preserveRNGstate(library(parallel))

or perhaps an specific enhancement to library itself?

Regards
Ben



[Rd] package load altering RNG state
Benjamin Tyner