[R] Random numbers
Duncan Murdoch
murdoch at stats.uwo.ca
Wed Dec 21 16:10:51 CET 2005
On 12/21/2005 9:47 AM, Carl wrote:
> Hi All.
> I have R code whose functionality is being replicated within a C+
> program. The outputs are to be compared to validate the conversion
> somewhat - however (as is always the case) I have stuffed my code with
> random number calls.
>
> Random uniform numbers in C+ are being produced using the (Boost)
> mersenne-twister generators (mt11213b & mt19937) - which is the default
> type of generator in R (if I read things correctly). If it was all
> within R I would just set the seed for reproducibility.
>
> Basically - how do I specify in C+ for a set of random uniform numbers
> such that they are the same as from R? I have considered the possibility
> of storing/using the R generated random numbers in the C+ version for
> validation purposes - but there are a lot of them, and that strikes me
> as a generally ugly way of doing things.
I'd say the only reasonable way to do this is to call the R generators
rather than trying to duplicate them. R tries hard to keep its
generators consistent from version to version, but if you have an
independent implementation of the same algorithm, it's going to be very
hard to validate that you've really got things exactly identical.
The Writing R Extensions manual tells how to call the R generators from
other programs. You can do it without going through interpreted R code,
so there shouldn't be much in the way of a performance penalty.
Duncan Murdoch
More information about the R-help
mailing list