<?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 rand function issue in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/rand-function-issue/m-p/164694#M42711</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to generate a table with 100 observations, one variable. This is a discrete variable with 4 levels so I used this code below and everything is fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;data BMI (drop = i) ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array prob [4]&amp;nbsp;&amp;nbsp;&amp;nbsp; (0.01, 0.1, 0.26, 0.63);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call streaminit(1234);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i = 1 to 100;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BMI = rand("Table", of prob&lt;LI&gt;);&lt;/LI&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;quit;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&lt;STRONG&gt;However&lt;/STRONG&gt;&lt;/SPAN&gt;, what I really want is this to store the proportions &lt;SPAN style="font-family: tahoma, arial, helvetica, sans-serif;"&gt; (0.01, 0.1, 0.26, 0.63)&lt;/SPAN&gt; in a matrix variable z, like this below, and then pass that matrix variable via array, prob&lt;LI&gt; into the rand function, as shown below.&lt;/LI&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva; font-size: 10pt;"&gt;proc iml;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 120px;"&gt;&lt;SPAN style="font-family: verdana, geneva; font-size: 10pt;"&gt;&amp;nbsp; use CHIS.RBMI_Freq;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 120px;"&gt;&lt;SPAN style="font-family: verdana, geneva; font-size: 10pt;"&gt;&amp;nbsp; read all var {PERCENT} into XBMI ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 120px;"&gt;&lt;SPAN style="font-family: verdana, geneva; font-size: 10pt;"&gt;&lt;STRONG&gt;&amp;nbsp; Z = ((XBMI[1:4,])*.01)&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 120px;"&gt;&lt;SPAN style="font-family: verdana, geneva; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;SPAN style="font-family: verdana, geneva; font-size: 10pt;"&gt; print Z;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva; font-size: 10pt;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;data BMI (drop = i) ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array prob &lt;LI&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt; Z&lt;/STRONG&gt; ;&lt;/LI&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call streaminit(1234);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i = 1 to 100;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BMI = rand("Table", of prob&lt;LI&gt;);&lt;/LI&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;quit;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I do this I get an error&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;Argument 2 to function RAND('Table',.) at line 822 column 15 is invalid.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need help. Thanks in advance.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 03 Jul 2014 04:56:28 GMT</pubDate>
    <dc:creator>DakotaBison</dc:creator>
    <dc:date>2014-07-03T04:56:28Z</dc:date>
    <item>
      <title>rand function issue</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/rand-function-issue/m-p/164694#M42711</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to generate a table with 100 observations, one variable. This is a discrete variable with 4 levels so I used this code below and everything is fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;data BMI (drop = i) ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array prob [4]&amp;nbsp;&amp;nbsp;&amp;nbsp; (0.01, 0.1, 0.26, 0.63);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call streaminit(1234);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i = 1 to 100;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BMI = rand("Table", of prob&lt;LI&gt;);&lt;/LI&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;quit;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&lt;STRONG&gt;However&lt;/STRONG&gt;&lt;/SPAN&gt;, what I really want is this to store the proportions &lt;SPAN style="font-family: tahoma, arial, helvetica, sans-serif;"&gt; (0.01, 0.1, 0.26, 0.63)&lt;/SPAN&gt; in a matrix variable z, like this below, and then pass that matrix variable via array, prob&lt;LI&gt; into the rand function, as shown below.&lt;/LI&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva; font-size: 10pt;"&gt;proc iml;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 120px;"&gt;&lt;SPAN style="font-family: verdana, geneva; font-size: 10pt;"&gt;&amp;nbsp; use CHIS.RBMI_Freq;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 120px;"&gt;&lt;SPAN style="font-family: verdana, geneva; font-size: 10pt;"&gt;&amp;nbsp; read all var {PERCENT} into XBMI ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 120px;"&gt;&lt;SPAN style="font-family: verdana, geneva; font-size: 10pt;"&gt;&lt;STRONG&gt;&amp;nbsp; Z = ((XBMI[1:4,])*.01)&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 120px;"&gt;&lt;SPAN style="font-family: verdana, geneva; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;SPAN style="font-family: verdana, geneva; font-size: 10pt;"&gt; print Z;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva; font-size: 10pt;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;data BMI (drop = i) ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array prob &lt;LI&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt; Z&lt;/STRONG&gt; ;&lt;/LI&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call streaminit(1234);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i = 1 to 100;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BMI = rand("Table", of prob&lt;LI&gt;);&lt;/LI&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;SPAN style="font-family: verdana, geneva;"&gt;quit;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I do this I get an error&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;Argument 2 to function RAND('Table',.) at line 822 column 15 is invalid.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need help. Thanks in advance.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jul 2014 04:56:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/rand-function-issue/m-p/164694#M42711</guid>
      <dc:creator>DakotaBison</dc:creator>
      <dc:date>2014-07-03T04:56:28Z</dc:date>
    </item>
    <item>
      <title>Re: rand function issue</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/rand-function-issue/m-p/164695#M42712</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't work much with IML but I would think you could do that as a row operation in IML. Data steo is, as error says, not going to accept that syntax the way you want as Z as called will create a single variable Z which is missing.I don't know if you could instead of Print Z create a macro variable in a format that looks like the values in the first example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BTW if you don't want to keep adding Drop i statements use Do _i_= for your loops. The paired underscores tell SAS to treat as a temporary variable and it is automatically dropped from the output.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jul 2014 17:12:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/rand-function-issue/m-p/164695#M42712</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2014-07-03T17:12:14Z</dc:date>
    </item>
  </channel>
</rss>

