Re: [R] Restoring .Random.seed

From: Prof Brian Ripley <>
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

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,        
Professor of Applied Statistics,
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________ mailing list
PLEASE do read the posting guide
and provide commented, minimal, self-contained, reproducible code.
Received on Thu 31 May 2007 - 20:31:42 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 31 May 2007 - 22:31:32 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.