[R] How to obtain seed after generating random number?

William Dunlap wdunlap at tibco.com
Tue Aug 24 21:29:39 CEST 2010


> -----Original Message-----
> From: r.ookie [mailto:r.ookie at live.com] 
> Sent: Tuesday, August 24, 2010 12:25 PM
> To: William Dunlap
> Cc: r-help at r-project.org
> Subject: Re: [R] How to obtain seed after generating random number?
> 
> Thanks for your solution, however, which values would I then 
> provide someone else so that they can produce the same results?

Give them the .Random.seed attribute from the
result of interest, just as I did in the example
of reproducing the result z0.  If they didn't
want to use this function they would have to do
  .Random.seed <<- attr(z0, ".Random.seed")
to set it.

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com  

> 
> On Aug 24, 2010, at 12:06 PM, William Dunlap wrote:
> 
> The following will attach (as an attribute) the current global value
> of .Random.seed to the value of the evaluated 'expr' argument.  If you
> supply
> the initial.Random.seed argument then it will use that when evaluating
> the expression (and also attach it to the result) so you can 
> repeat the
> 'unusual' computation.  I sometimes use this sort of thing 
> when doing QA
> work.
>    f <- function(expr, initial.Random.seed) {
>        if (missing(initial.Random.seed)) {
>             if (!exists(".Random.seed", envir=.GlobalEnv)) {
>                 runif(1) # force generation of a .Random.seed
>             }
>             initial.Random.seed <- get(".Random.seed",
> envir=.GlobalEnv)
>        }
>        .Random.seed <<- initial.Random.seed
>        structure(expr, .Random.seed=.Random.seed)
>    }
> 
> E.g.,
> > z0 <- f(runif(3))
> > str(z0)
> atomic [1:3] 0.15 0.225 0.607
> - attr(*, ".Random.seed")= int [1:626] 403 19 1644829386 1412664364
> -3288017 -689767195 792688028 -702547982 -676502931 402532263 ...
> > z1 <- f(runif(3))
> > str(z1)
> atomic [1:3] 0.786 0.325 0.789
> - attr(*, ".Random.seed")= int [1:626] 403 22 1644829386 1412664364
> -3288017 -689767195 792688028 -702547982 -676502931 402532263 ...
> > str(f(runif(3), attr(z0,".Random.seed"))) # repeat with .Random.seed
> used to make z0
> atomic [1:3] 0.15 0.225 0.607
> - attr(*, ".Random.seed")= int [1:626] 403 19 1644829386 1412664364
> -3288017 -689767195 792688028 -702547982 -676502931 402532263 ...
> 
> Bill Dunlap
> Spotfire, TIBCO Software
> wdunlap tibco.com  
> 
> > -----Original Message-----
> > From: r-help-bounces at r-project.org 
> > [mailto:r-help-bounces at r-project.org] On Behalf Of r.ookie
> > Sent: Tuesday, August 24, 2010 11:48 AM
> > To: Bogaso Christofer
> > Cc: r-help at r-project.org
> > Subject: Re: [R] How to obtain seed after generating random number?
> > 
> > I have wondered this in the past too so thanks for the question.
> > 
> > On Aug 24, 2010, at 10:11 AM, Bogaso Christofer wrote:
> > 
> > Dear all, I was doing an experiment to disprove some theory 
> therefore
> > performing lot of random simulation. Goal is to show the 
> audience that
> > although something has very rare chance to occur but it 
> > doesn't mean that
> > event would be impossible.
> > 
> > 
> > 
> > In this case after getting that rare event I need to show 
> > that same scenario
> > for multiple times to explain other audience. Hence I need to 
> > somehow save
> > that seed which generates that random numbers after doing the 
> > experiment.
> > However as it is very rare event it is not very practical to 
> > start with a
> > fixed seed and then generate random numbers. Hence I am 
> > looking for some way
> > which will tell me about that corresponding seed which was 
> > responsible to
> > generate that particular series of random numbers responsible 
> > for occurrence
> > of that rare event.
> > 
> > 
> > 
> > In short, I need to know the seed ***after*** generating the 
> > random numbers.
> > 
> > 
> > 
> > Is there any possibility to know this?
> > 
> > 
> > 
> > Thanks and regards,
> > 
> > 
> > 	[[alternative HTML version deleted]]
> > 
> > ______________________________________________
> > R-help at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide 
> > http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
> > 
> > ______________________________________________
> > R-help at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide 
> > http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
> > 
> 
> 
> 



More information about the R-help mailing list