[R] Restoring .Random.seed
Prof Brian Ripley
ripley at stats.ox.ac.uk
Thu May 31 21:57:09 CEST 2007
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