DATA Step, Macro, Functions and more

reproducing random sample using rannor(seed)

Reply
Occasional Contributor
Posts: 6

reproducing random sample using rannor(seed)

Should I be able to reproduce a random sample of draws from the standard normal (rannor) generated by someone else as long as I use the same seed number? Would the sample differ depending on version of SAS, machine or any other factors? Thank you. jm

PROC Star
Posts: 768

Re: reproducing random sample using rannor(seed)

Use

 

call streaminit(123);

if you are simulating data in a datastep. Use

 

call randseed(123);

if you are simulating data in IML. the two algorithms are the same for the datastep and IML and to my knowledge you will get the same results across most sas versions as well Smiley Happy

Super User
Posts: 11,343

Re: reproducing random sample using rannor(seed)

You may have an issue of duplicating if the other use actually uses Rand('normal') or possibly Call Rannor instead of Rannor.

SAS Super FREQ
Posts: 3,755

Re: reproducing random sample using rannor(seed)

Draycut gave the correct answer for the RAND (or RANDGEN) function. (For a longer answer, see "Random number streams in SAS.") However, you asked about the RANNOR function, which takes the seed as an argument.

 

The answer is still "yes." Up to numerical precision, you should get the same values for RANNOR as long as you use the same seed.  Some people use the seeds incorrectly, so be sure to read "Random number seeds: Only the first seed matters"  to make sure you understand how seeds initialize streams.

Ask a Question
Discussion stats
  • 3 replies
  • 166 views
  • 1 like
  • 4 in conversation