I did not use delayedAssign() directly; I was using lazyLoad() and .Random.seed was saved in a database. The real story out there is the caching of my knitr package -- lazyLoad() was used to speed up the compilation of Sweave documents.
I know lazyLoad() is supposed to be used only by R itself, but it is very helpful for the purpose of caching as well. Or is it possible to change the code in src/main/RNG.c so that the seed is force()d if it is a promise? Anyway, I can use save() and load() in this case instead of lazyLoad() if the above is not going to happen. Thanks a lot! Regards, Yihui -- Yihui Xie <xieyi...@gmail.com> Phone: 515-294-2465 Web: http://yihui.name Department of Statistics, Iowa State University 2215 Snedecor Hall, Ames, IA On Tue, May 22, 2012 at 12:49 PM, <luke-tier...@uiowa.edu> wrote: > On Tue, 22 May 2012, Yihui Xie wrote: > >> Hi, >> >> The problem arises when I lazyLoad() the .Random.seed from a >> previously saved database. To simplify the process of reproducing the >> problem, see the example below: >> >> ## this assignment may not really make sense, but illustrates the problem >> delayedAssign('.Random.seed', 1L) >> >> typeof(.Random.seed) >> # [1] "integer" >> >> rnorm(1) >> # Error in rnorm(1) : >> # .Random.seed is not an integer vector but of type 'promise' >> >> typeof(.Random.seed) >> # [1] "integer" >> >> So there must be an "attribute" "promise" somewhere attached to >> .Random.seed, and I cannot find it. The R function typeof() does not >> reveal it, but the TYPEOF() function in src/main/RNG.c says it is a >> 'promise'. >> >> My question is, how to make R use the real value of .Random.seed >> instead of complaining about the promise? Thanks! > > > Siple answer: Don't creat the promise in the first place, i.e. don't > use delayedAssign. > > What is the real context where this arises? Knowing that may help us > decide whether the internals should address this possibility. > > Best, > > luke > >> >> Regards, >> Yihui >> -- >> Yihui Xie <xieyi...@gmail.com> >> Phone: 515-294-2465 Web: http://yihui.name >> Department of Statistics, Iowa State University >> 2215 Snedecor Hall, Ames, IA >> >> ______________________________________________ >> R-help@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. >> > > -- > Luke Tierney > Chair, Statistics and Actuarial Science > Ralph E. Wareham Professor of Mathematical Sciences > University of Iowa Phone: 319-335-3386 > Department of Statistics and Fax: 319-335-3017 > Actuarial Science > 241 Schaeffer Hall email: luke-tier...@uiowa.edu > Iowa City, IA 52242 WWW: http://www.stat.uiowa.edu ______________________________________________ R-help@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.