## random seed

Occasional Contributor
Posts: 6

# random seed

Why do I get different results for variable a and variable b even though I use same random seed 10 for the two variables?

```data rn;
a=rannor(10);
b=rannor(10);
run;```

Posts: 5,474

## Re: random seed

http://blogs.sas.com/content/iml/2013/07/10/stop-using-ranuni.html

PG
Occasional Contributor
Posts: 6

## Re: random seed

[ Edited ]

Thanks, it's because in a data step, the first seed encountered will determine the whole stream, right?

Another question, then can I write

`b=rannor`

without assigning a seed for the second variable since whatever seed set to b would prove to be useless?

Posts: 5,474

## Re: random seed

``````data rn;
call streaminit(10);
a = rand("NORMAL");
b = a;
run;``````
PG
SAS Super FREQ
Posts: 4,165

## Re: random seed

In your example, it doesn't matter what seed value you use for b. You will always get

 a=0.84963 b=0.70089

A random number seed initializes a sequence of pseudorandom values. For the RANUNI function (and other RAN* functions), the first time you use a seed  determines the sequence for the rest of the data step.

Here are two related articles:

Random number seeds: Only the first seed matters

Random number streams in SAS: How do they work?

My mental model for a stream is this: I have a spiral notebook with thousands of sheets of papers.  On each page, I write down a sequence of random numbers.  The first sheet can have the same numbers as another sheet, but they are in different orders.

The "seed" corresponds to a page. When you want a sequence of random numbers, you tell me what page you want.  I then read off the numbers on that page one at a time.  If you want a different sequence, you need to ask for a different page.

Discussion stats
• 4 replies
• 334 views
• 0 likes
• 3 in conversation