[Rd] Change in the RNG implementation?

Hervé Pagès hpages at fhcrc.org
Sat Oct 20 01:04:12 CEST 2012


Looks like the implementation of random number generation changed in
R-devel with respect to R-2.15.1.

With R-2.15.1:

   > set.seed(33)
   > sample(49821115, 10)
    [1] 22217252 19661919 24099911 45779422 42043111 25774933 21778053 
    [9]   773073  5878451

With recent R-devel:

   > set.seed(33)
   > sample(49821115, 10)
    [1] 22217252 19661919 24099912 45779425 42043115 25774935 21778056 
    [9]   773073  5878452

This is on a 64-bit Ubuntu system.

Is this change intended? I didn't see anything in the NEWS file.

A potential problem with this is that it will break unit tests
for algorithms that make use of RNG.

Another more practical problem (at least for me) is the following:
Bioconductor package maintainers are sometimes working hard on the
development version of their package to improve the performance of
some key functions. Comparing performance between BioC release
(based on R-2.15) and devel (based on R-devel) often requires big
input data that is randomly generated, because it's easiest than
working with real data. Typically a small script is written that
takes care of loading the required packages, generating the input
data, and running a simple analysis. The same script is sourced in
R-2.15 and R-devel, and performance and results are compared.

Not being able to generate exactly the same input in the script is
a problem. It can be worked around by generating the input once,
serializing it, and use load() in the script, but that makes things
more complicated and the script is not a standalone script anymore
(cannot be passed around without also passing around the big .rda


Hervé Pagès

Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024

E-mail: hpages at fhcrc.org
Phone:  (206) 667-5791
Fax:    (206) 667-1319

More information about the R-devel mailing list