<?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: Input average value of a set of variable if missing in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Input-average-value-of-a-set-of-variable-if-missing/m-p/347709#M80387</link>
    <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4954"&gt;@Astounding&lt;/a&gt;&amp;nbsp;You're correct, the math is the same either way.&lt;/P&gt;</description>
    <pubDate>Thu, 06 Apr 2017 13:39:22 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2017-04-06T13:39:22Z</dc:date>
    <item>
      <title>Input average value of a set of variable if missing</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Input-average-value-of-a-set-of-variable-if-missing/m-p/347671#M80366</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I have a dataset that look like this. Variable AT, BE, and so on are countries. For countries where the value is missing, I would like to input the average value of non-missing countries. So for the first line, the value for BG should change to the average of -2.1343, -1.23434, -2.4543, etc.&amp;nbsp; How can I do that?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE style="border-collapse: collapse; width: 528pt;" cellspacing="0" cellpadding="0" border="0" width="640"&gt;&lt;COLGROUP&gt;&lt;COL style="width: 48pt;" span="10" width="64" /&gt; &lt;/COLGROUP&gt;
&lt;TBODY&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD class="xl65" style="height: 15.0pt; width: 48pt;" height="20" width="64"&gt;variable&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;class1&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;class2&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;sex&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;AT&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;BE&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;BG&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;CY&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;CZ&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;DE&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD class="xl65" style="height: 15.0pt;" height="20" width="64"&gt;Age&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;1&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;0&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;0&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;-2.13432&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;-1.23434&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;.&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;-2.4543&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;-1.324&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;-3.123&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD class="xl65" style="height: 15.0pt;" height="20" width="64"&gt;AGE&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;2&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;0&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;0&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;.&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;&amp;nbsp;-2.76&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;-2.4512&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;-1.126&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;-0.642&lt;/TD&gt;
&lt;TD class="xl65" style="width: 48pt;" width="64"&gt;-3.536&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 06 Apr 2017 12:18:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Input-average-value-of-a-set-of-variable-if-missing/m-p/347671#M80366</guid>
      <dc:creator>Demographer</dc:creator>
      <dc:date>2017-04-06T12:18:19Z</dc:date>
    </item>
    <item>
      <title>Re: Input average value of a set of variable if missing</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Input-average-value-of-a-set-of-variable-if-missing/m-p/347683#M80371</link>
      <description>&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Post test data in the form of a datastep.&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As such, just a guess:&lt;/P&gt;
&lt;PRE&gt;data want;
  set have;
  array vals{*} at be bg cy cz de;
  do i=1 to dim(vals);
    if vals{i}=. then vals{i}=mean(of vals{*});
  end;
run;&lt;/PRE&gt;</description>
      <pubDate>Thu, 06 Apr 2017 12:47:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Input-average-value-of-a-set-of-variable-if-missing/m-p/347683#M80371</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-04-06T12:47:27Z</dc:date>
    </item>
    <item>
      <title>Re: Input average value of a set of variable if missing</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Input-average-value-of-a-set-of-variable-if-missing/m-p/347688#M80374</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/45151"&gt;@RW9&lt;/a&gt;&amp;nbsp;order of operations. If multiple values are missing the mean will change as you fill array in?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Precalculate the mean?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Edit nvm - math is the same &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/33143"&gt;@Demographer&lt;/a&gt;please post sample data as the first data step in my code.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input id var1-var8;
cards;
1 2 4 5 78 89 34 . . 39
2 4 9 78 34 98 . 34 . 29
;
run;

data want;
set have;
array v(8) var1-var8;
x = mean(of var1-var8);

do i=1 to 8;
if v(i) = . then v(i) = mean( of var1-var8);
end;

run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 06 Apr 2017 13:22:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Input-average-value-of-a-set-of-variable-if-missing/m-p/347688#M80374</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-04-06T13:22:08Z</dc:date>
    </item>
    <item>
      <title>Re: Input average value of a set of variable if missing</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Input-average-value-of-a-set-of-variable-if-missing/m-p/347699#M80385</link>
      <description>&lt;P&gt;An interesting consideration, but I think you get the same answer either way.&amp;nbsp; If you add an extra country to the mix, and its value is the same as the mean of the others, the mean shouldn't change.&amp;nbsp; Probably faster to pre-calculate though.&lt;/P&gt;</description>
      <pubDate>Thu, 06 Apr 2017 13:21:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Input-average-value-of-a-set-of-variable-if-missing/m-p/347699#M80385</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-04-06T13:21:31Z</dc:date>
    </item>
    <item>
      <title>Re: Input average value of a set of variable if missing</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Input-average-value-of-a-set-of-variable-if-missing/m-p/347709#M80387</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4954"&gt;@Astounding&lt;/a&gt;&amp;nbsp;You're correct, the math is the same either way.&lt;/P&gt;</description>
      <pubDate>Thu, 06 Apr 2017 13:39:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Input-average-value-of-a-set-of-variable-if-missing/m-p/347709#M80387</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-04-06T13:39:22Z</dc:date>
    </item>
    <item>
      <title>Re: Input average value of a set of variable if missing</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Input-average-value-of-a-set-of-variable-if-missing/m-p/347718#M80392</link>
      <description>&lt;P&gt;Its nice when these things work themselves out&amp;nbsp;&lt;img id="smileyvery-happy" class="emoticon emoticon-smileyvery-happy" src="https://communities.sas.com/i/smilies/16x16_smiley-very-happy.png" alt="Smiley Very Happy" title="Smiley Very Happy" /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 06 Apr 2017 13:47:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Input-average-value-of-a-set-of-variable-if-missing/m-p/347718#M80392</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-04-06T13:47:57Z</dc:date>
    </item>
  </channel>
</rss>

