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
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 🙂
You may have an issue of duplicating if the other use actually uses Rand('normal') or possibly Call Rannor instead of Rannor.
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.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.