[R] How to stop set.seed() besides exiting out of R?

William Dunlap wdunlap at tibco.com
Mon Mar 18 21:49:09 CET 2013


> -----Original Message-----
> From: Prof Brian Ripley [mailto:ripley at stats.ox.ac.uk]
> Sent: Monday, March 18, 2013 1:22 PM
> To: William Dunlap
> Cc: r-help
> Subject: Re: [R] How to stop set.seed() besides exiting out of R?
> 
> On 18/03/2013 19:59, William Dunlap wrote:
> > I am not sure of this, but I think you can unset the seed by removing the dataset
> .Random.seed
> > from the global environment.  E.g.,
> >
> >> set.seed(1)
> >> runif(5)
> > [1] 0.2655087 0.3721239 0.5728534 0.9082078 0.2016819
> >> rm(list=".Random.seed", envir=globalenv())
> >> runif(5)
> > [1] 0.5952379 0.3355091 0.8820192 0.7633754 0.8064312
> >>
> >>
> >> set.seed(1)
> >> runif(5) # same as before
> > [1] 0.2655087 0.3721239 0.5728534 0.9082078 0.2016819
> >> rm(list=".Random.seed", envir=globalenv())
> >> runif(5) # different
> > [1] 0.52023610 0.73407695 0.08824484 0.26977430 0.80089250
> 
> Yes, almost all the time.  R does keep a copy in memory when it is using
> it and writes it back out when done with it: so assuming nothing
> asynchronous is going on (e.g. a GUI callback) removing .Random.seed
> will cause the RNG to be re-initialized at next use.

Thanks Brian,

S+'s set.seed() generates a new seed if it is called with no arguments so
as not to tempt people to directly fiddle around with magic datasets
like .Random.seed.

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com

> 
> >
> > 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 Nordlund, Dan (DSHS/RDA)
> >> Sent: Monday, March 18, 2013 12:44 PM
> >> To: C W
> >> Cc: r-help
> >> Subject: Re: [R] How to stop set.seed() besides exiting out of R?
> >>
> >> No, you cannot unset the seed.  You can set it to a different value, but a the random
> >> number generators always need a starting seed.  If you don’t set one, R will set one
> for
> >> you , you just won’t know what it is.  And as a practical matter, given a sequence of
> >> random numbers you can’t tell what the starting seed was.  That is the point of good
> >> random number generators.  Each sequence of random numbers for most intents and
> >> purposes can be considered independent from previous sets of numbers.
> >>
> >> Hope this is helpful,
> >>
> >> Dan
> >>
> >> Daniel J. Nordlund
> >> Washington State Department of Social and Health Services
> >> Planning, Performance, and Accountability
> >> Research and Data Analysis Division
> >> Olympia, WA 98504-5204
> >>
> >> From: C W [mailto:tmrsg11 at gmail.com]
> >> Sent: Monday, March 18, 2013 12:19 PM
> >> To: Nordlund, Dan (DSHS/RDA)
> >> Cc: r-help
> >> Subject: Re: [R] How to stop set.seed() besides exiting out of R?
> >>
> >> Yes, I agree with you.  I guess what I was really looking for is a function like
> >> UNset.seed()?
> >>
> >> By having set.seed(), I can have reproducible code.  But what if I want to check my
> work
> >> against what's produced from set.seed(100)?
> >>
> >> I really want to escape from the shadow of set.seed(), can I unset it?
> >> On Mon, Mar 18, 2013 at 3:07 PM, Nordlund, Dan (DSHS/RDA)
> >> <NordlDJ at dshs.wa.gov<mailto:NordlDJ at dshs.wa.gov>> wrote:
> >> As I understand it, how R “‘normally” does it is to use the system clock to set the seed
> >> once per session, unless you use set.seed() to set a new seed. You chose to set the
> seed
> >> to a different value.  But from that point on, the pseudo random number generation
> >> continues  in the same way it “normally” does.  In your code below, each of your 100
> >> histograms will be different.  If you then execute the for loop again (but not the
> >> set.seed(100) statement), you will get a different set of histograms.  The only way you
> >> would be “confined to set.seed(100)” is if you keep resetting the seed to 100.
> >>
> >> Dan
> >>
> >> Daniel J. Nordlund
> >> Washington State Department of Social and Health Services
> >> Planning, Performance, and Accountability
> >> Research and Data Analysis Division
> >> Olympia, WA 98504-5204
> >> From: C W [mailto:tmrsg11 at gmail.com<mailto:tmrsg11 at gmail.com>]
> >> Sent: Monday, March 18, 2013 11:50 AM
> >> To: Nordlund, Dan (DSHS/RDA)
> >> Cc: r-help
> >> Subject: Re: [R] How to stop set.seed() besides exiting out of R?
> >>
> >> set.seed(100)
> >> for (i in 1:100){
> >>      a <- rnorm(1000, mean=0, sd=1)
> >>      hist(a)
> >> }
> >>
> >> #Now say, I want to simulate without being confined to set.seed(100), I just want to
> get
> >> a simulation like how R "normally" does it.
> >>
> >> Mike
> >> On Mon, Mar 18, 2013 at 2:40 PM, Nordlund, Dan (DSHS/RDA)
> >>
> <NordlDJ at dshs.wa.gov<mailto:NordlDJ at dshs.wa.gov><mailto:NordlDJ at dshs.wa.gov<
> >> mailto:NordlDJ at dshs.wa.gov>>> wrote:
> >>> -----Original Message-----
> >>> From: r-help-bounces at r-project.org<mailto:r-help-bounces at r-
> project.org><mailto:r-
> >> help-bounces at r-project.org<mailto:r-help-bounces at r-project.org>> [mailto:r-help-
> >> bounces at r-<mailto:r-help-bounces at r-><mailto:r-help-bounces at r-<mailto:r-help-
> >> bounces at r->>
> >>> project.org<http://project.org><http://project.org>] On Behalf Of C W
> >>> Sent: Monday, March 18, 2013 11:27 AM
> >>> To: r-help
> >>> Subject: [R] How to stop set.seed() besides exiting out of R?
> >>>
> >>> Hi list,
> >>>
> >>> I am curious how to stop the set.seed(), I don't want the same repeated
> >>> random number.  I know I can set it to a different seed, but I don't
> >>> want
> >>> to go through the trouble of setting different seed every time.
> >>>
> >>> Thanks,
> >>> Mike
> >>>
> >> Can you show us how you are using set.seed() that results in getting the same
> sequence
> >> repeatedly?  If you are doing simulations in a loop, then set the seed once, outside the
> >> loop.  Otherwise, I am not sure what you are doing that causes problems.  A
> reproducible
> >> example would really help.
> >>
> >> Dan
> >>
> >> Daniel J. Nordlund
> >> Washington State Department of Social and Health Services
> >> Planning, Performance, and Accountability
> >> Research and Data Analysis Division
> >> Olympia, WA 98504-5204
> >>
> >> ______________________________________________
> >> R-help at r-project.org<mailto:R-help at r-project.org><mailto:R-help at r-
> >> project.org<mailto: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.
> >>
> >>          [[alternative HTML version deleted]]
> >>
> >>
> >> ______________________________________________
> >> R-help at r-project.org<mailto: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.
> >>
> >>
> >> 	[[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.
> >
> 
> 
> --
> 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