> -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] > On Behalf Of Mike Harwood > Sent: Thursday, December 23, 2010 9:19 AM > To: r-help@r-project.org > Subject: [R] Reconcile Random Samples > > Is there a way to generate identical random samples using R's runif > function and SAS's ranuni function? I have assigned the same seed > values in both software packages, but the following results show > different results. Thanks! > > R > === > > set.seed(6) > > random <- runif(10) > > random > [1] 0.6062683 0.9376420 0.2643521 0.3800939 0.8074834 0.9780757 > 0.9579337 > [8] 0.7627319 0.5096485 0.0644768 > > SAS (the log file) > ======= > 15 data _null_; > 16 do i=1 to 10; > 17 random = ranuni(6); > 18 put i= random=; > 19 end; > 20 run; > > i=1 random=0.1097754189 > i=2 random=0.8205322939 > i=3 random=0.3989458365 > i=4 random=0.5563918723 > i=5 random=0.5296154672 > i=6 random=0.8156640985 > i=7 random=0.2578750389 > i=8 random=0.1901503369 > i=9 random=0.2987641572 > i=10 random=0.3993993096 >
Yes, If you use the same pseudorandom number generator in both places. The ranuni() function in SAS uses a simple multiplicative generator SEED = mod( SEED * 397204094, 2**31-1 ) and then returns the value SEED / (2^31 - 1) as the random number. SAS also has a much better generator, rand(). I would instead generate a series of random number in one program and export the numbers to the other program. Hope this is helpful, Dan Daniel Nordlund Bothell, WA ______________________________________________ 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.