<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Seeding random number generator in multiple data steps in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Seeding-random-number-generator-in-multiple-data-steps/m-p/834924#M330042</link>
    <description>&lt;P&gt;As PGStats says, CALL STREAM. For a discussion and further examples, see&amp;nbsp;&lt;A href="https://blogs.sas.com/content/iml/2018/05/09/independent-streams-random-sas.html" target="_self"&gt;"Independent streams of random numbers in SAS"&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 23 Sep 2022 18:49:26 GMT</pubDate>
    <dc:creator>Rick_SAS</dc:creator>
    <dc:date>2022-09-23T18:49:26Z</dc:date>
    <item>
      <title>Seeding random number generator in multiple data steps</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Seeding-random-number-generator-in-multiple-data-steps/m-p/834863#M330026</link>
      <description>&lt;P&gt;Hello:&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;I hope to simulate multiple datasets based on a single seed for reproducibility. It seems that call streaminit only impacts randomization within the same data step. For example, if I run the code below&lt;/P&gt;
&lt;PRE&gt;data test1;
  call streaminit(1234);
  do i = 1 to 4;
    a= rand('Uniform');
    output;
  end;
run;
proc print data=test1;
run;

data test2;
  do i = 1 to 4;
    b= rand('Uniform');
    output;
  end;
run;
proc print data=test2;
run;&lt;/PRE&gt;
&lt;P&gt;test1 will remain the same but test2 will change in multiple runs. Is there a way to set seed only once (at the beginning of the program) to determine all random numbers in the entire program, regardless of whether they are in the same data step?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Peter&lt;/P&gt;</description>
      <pubDate>Fri, 23 Sep 2022 15:40:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Seeding-random-number-generator-in-multiple-data-steps/m-p/834863#M330026</guid>
      <dc:creator>Peter_Y</dc:creator>
      <dc:date>2022-09-23T15:40:53Z</dc:date>
    </item>
    <item>
      <title>Re: Seeding random number generator in multiple data steps</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Seeding-random-number-generator-in-multiple-data-steps/m-p/834878#M330031</link>
      <description>&lt;P&gt;You need a separate CALL STREAMINIT in every step, but you can simplify it with a macro variable:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let init = call streaminit(1234);

data test1;
&amp;amp;init;
....
run;

data test2;
&amp;amp;init;
...
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 23 Sep 2022 16:31:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Seeding-random-number-generator-in-multiple-data-steps/m-p/834878#M330031</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2022-09-23T16:31:41Z</dc:date>
    </item>
    <item>
      <title>Re: Seeding random number generator in multiple data steps</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Seeding-random-number-generator-in-multiple-data-steps/m-p/834879#M330032</link>
      <description>&lt;P&gt;Look at the STREAM routine :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let seed=1234;
data test1;
  call streaminit(&amp;amp;seed.);
  call stream(1);
  do i = 1 to 4;
    a= rand('Uniform');
    output;
  end;
run;
proc print data=test1;
run;

data test2;
  call streaminit(&amp;amp;seed.);
  call stream(2);
  do i = 1 to 4;
    b= rand('Uniform');
    output;
  end;
run;
proc print data=test2;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Both streams are controlled by the same seed but consist of &lt;EM&gt;independent&lt;/EM&gt; sequences.&lt;/P&gt;</description>
      <pubDate>Fri, 23 Sep 2022 16:42:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Seeding-random-number-generator-in-multiple-data-steps/m-p/834879#M330032</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2022-09-23T16:42:06Z</dc:date>
    </item>
    <item>
      <title>Re: Seeding random number generator in multiple data steps</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Seeding-random-number-generator-in-multiple-data-steps/m-p/834888#M330033</link>
      <description>&lt;P&gt;Your actual problem may preclude this solution, but the code below solves the task as you describe it:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test1  test2 (rename=(a=b));
  call streaminit(1234);
  do i = 1 to 4;
    a= rand('Uniform');
    output;
  end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 23 Sep 2022 17:26:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Seeding-random-number-generator-in-multiple-data-steps/m-p/834888#M330033</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2022-09-23T17:26:03Z</dc:date>
    </item>
    <item>
      <title>Re: Seeding random number generator in multiple data steps</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Seeding-random-number-generator-in-multiple-data-steps/m-p/834924#M330042</link>
      <description>&lt;P&gt;As PGStats says, CALL STREAM. For a discussion and further examples, see&amp;nbsp;&lt;A href="https://blogs.sas.com/content/iml/2018/05/09/independent-streams-random-sas.html" target="_self"&gt;"Independent streams of random numbers in SAS"&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 23 Sep 2022 18:49:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Seeding-random-number-generator-in-multiple-data-steps/m-p/834924#M330042</guid>
      <dc:creator>Rick_SAS</dc:creator>
      <dc:date>2022-09-23T18:49:26Z</dc:date>
    </item>
  </channel>
</rss>

