[R] Restoring .Random.seed
Talbot Katz
topkatz at msn.com
Thu May 31 23:15:19 CEST 2007
Thanks! The "get / assign" combination does just what I want, and the
warning about the pre-existence of .Random.seed was very helpful. As for
set.seed, I have used it to create a replicable state (in fact, I have an
option to use it in the function I was writing that prompted my query), but
I didn't see any indication that it could be used to restore a state for
which you don't necessarily know the seed.
I got a couple of good offlist responses, too. One person told me about the
"<<-" assignment operator (with an admonishment to use it judiciously).
Another responder mentioned the setRNG package, which has a specific
methodology for saving the random number generator state.
-- TMK --
212-460-5430 home
917-656-5351 cell
>From: Prof Brian Ripley <ripley at stats.ox.ac.uk>
>To: Talbot Katz <topkatz at msn.com>
>CC: r-help at stat.math.ethz.ch
>Subject: Re: [R] Restoring .Random.seed
>Date: Thu, 31 May 2007 20:57:09 +0100 (BST)
>
>On Thu, 31 May 2007, Talbot Katz wrote:
>
>>Hi.
>>
>>Suppose I have a function which does some random number generation within.
>>The random number generation inside the function changes the value of
>>.Random.seed in the calling environment. If I want to restore the
> ^^^^^^^^^^^^^^^^^^^^^^^^^^
>That is your misunderstanding. From the help page
>
> The object '.Random.seed' is only looked for in the user's
> workspace.
>
>which seems plain enough. So, you can do
>
>save.seed <- get(".Random.seed", .GlobalEnv)
>assign(".Randon.seed", save.seed, .GlobalEnv)
>
>to save and restore, *provided* that random numbers have been used in the
>session (or .Random.seed will not exist).
>
>However, the help recommends using set.seed(), and why not follow the
>advice?
>
>>pre-function call .Random.seed, I can do:
>>
>>save.seed<-.Random.seed
>>result<-myfunction()
>>.Random.seed<-save.seed
>>
>>Is there a way to do the restoration inside the function? I tried putting
>>the "save.seed<-.Random.seed" and ".Random.seed<-save.seed" statements
>>inside the function, but that didn't work.
>
>As documented on the help page.
>
>[...]
>
>--
>Brian D. Ripley, ripley at stats.ox.ac.uk
>Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
>University of Oxford, Tel: +44 1865 272861 (self)
>1 South Parks Road, +44 1865 272866 (PA)
>Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-help
mailing list