# How to obtain seed after generating random number?

8 messages
Open this post in threaded view
|

## How to obtain seed after generating random number?

 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]] ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: 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]] ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code. ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: How to obtain seed after generating random number?

 > 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 short, I need to know the seed ***after*** generating the random numbers.   Does ?.Random.seed help?   It doesn't let you "go back and get the random seed that this sequence was started from", though.  So you may need to checkpoint reasonably frequently by saving .Random.seed ...   Another alternative is to use set.seed() at the same checkpointing intervals (e.g. a different sequential value for each in a series of simulations) -- that might run the risk of a slightly higher correlation between successive simulations (I'm not sure what can be guaranteed about the properties of sequences from neighboring seeds) .... ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: How to obtain seed after generating random number?

 In reply to this post by r.ookie 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: [hidden email] > [mailto:[hidden email]] On Behalf Of r.ookie > Sent: Tuesday, August 24, 2010 11:48 AM > To: Bogaso Christofer > Cc: [hidden email] > 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]] > > ______________________________________________ > [hidden email] 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. > > ______________________________________________ > [hidden email] 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. > ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: 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? 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: [hidden email] > [mailto:[hidden email]] On Behalf Of r.ookie > Sent: Tuesday, August 24, 2010 11:48 AM > To: Bogaso Christofer > Cc: [hidden email] > 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]] > > ______________________________________________ > [hidden email] 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. > > ______________________________________________ > [hidden email] 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. > ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: How to obtain seed after generating random number?

 > -----Original Message----- > From: r.ookie [mailto:[hidden email]] > Sent: Tuesday, August 24, 2010 12:25 PM > To: William Dunlap > Cc: [hidden email] > 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: [hidden email] > > [mailto:[hidden email]] On Behalf Of r.ookie > > Sent: Tuesday, August 24, 2010 11:48 AM > > To: Bogaso Christofer > > Cc: [hidden email] > > 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]] > > > > ______________________________________________ > > [hidden email] 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. > > > > ______________________________________________ > > [hidden email] 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. > > > > > ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.