<?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: Mean across positive valued variables in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Mean-across-positive-valued-variables/m-p/465250#M285227</link>
    <description>&lt;P&gt;Declare var1 through var4 as an array.&amp;nbsp; Copy only positive elements of that array to a new array.&amp;nbsp; Use the MEAN&amp;nbsp; function on that new array:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input Year Var1 Var2 Var3 Var4 MPOS;
datalines;
2000 23 -10  -5  22 22.5
2001 -1  10  33 -20 21.5
2002 10  20 -30 -10 15
2003 20 -10  10 -10 15
2004  8  10   3 -12  7
2005 10  -5 -23 -11 10
run;
data want (drop=_:);
  set have;
  array var {*} var1-var4;
  array _tmp {4};
  do _i=1 to dim(var);
    _tmp{_i}=ifn(var{_i}&amp;gt;0,var{_i},.);
  end;
  meanvar=mean(of _tmp{*});
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sat, 26 May 2018 05:25:38 GMT</pubDate>
    <dc:creator>mkeintz</dc:creator>
    <dc:date>2018-05-26T05:25:38Z</dc:date>
    <item>
      <title>Mean across positive valued variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Mean-across-positive-valued-variables/m-p/465249#M285226</link>
      <description>&lt;DIV class="lia-message-body"&gt;&lt;DIV class="lia-message-body-content"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="lia-message-body-content"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="lia-message-body-content"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="lia-message-body-content"&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I was hoping someone could help me with some codes to determine the mean across positive values variables (MPOS). For example, MPOS (Year=2000)= avg (var1+var4)&lt;/P&gt;&lt;P&gt;MPOS (Year=2001)= avg (var2+var3)&lt;/P&gt;&lt;P&gt;MPOS (Year=2002)= avg (var1+var2)&lt;/P&gt;&lt;P&gt;......&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Year&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Var1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Var2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Var3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Var4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;MPOS&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;23&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;-10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;-5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;22&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;22.5&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;-1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;33&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;-20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;21.5&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2002&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;-30&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;-10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;-10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;-10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2004&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;8&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;-12&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;7&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2005&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;-5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;-23&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;-11&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;Thanks!&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Sat, 26 May 2018 04:45:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Mean-across-positive-valued-variables/m-p/465249#M285226</guid>
      <dc:creator>ttaria</dc:creator>
      <dc:date>2018-05-26T04:45:38Z</dc:date>
    </item>
    <item>
      <title>Re: Mean across positive valued variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Mean-across-positive-valued-variables/m-p/465250#M285227</link>
      <description>&lt;P&gt;Declare var1 through var4 as an array.&amp;nbsp; Copy only positive elements of that array to a new array.&amp;nbsp; Use the MEAN&amp;nbsp; function on that new array:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input Year Var1 Var2 Var3 Var4 MPOS;
datalines;
2000 23 -10  -5  22 22.5
2001 -1  10  33 -20 21.5
2002 10  20 -30 -10 15
2003 20 -10  10 -10 15
2004  8  10   3 -12  7
2005 10  -5 -23 -11 10
run;
data want (drop=_:);
  set have;
  array var {*} var1-var4;
  array _tmp {4};
  do _i=1 to dim(var);
    _tmp{_i}=ifn(var{_i}&amp;gt;0,var{_i},.);
  end;
  meanvar=mean(of _tmp{*});
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 26 May 2018 05:25:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Mean-across-positive-valued-variables/m-p/465250#M285227</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2018-05-26T05:25:38Z</dc:date>
    </item>
    <item>
      <title>Re: Mean across positive valued variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Mean-across-positive-valued-variables/m-p/465267#M285228</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input Year Var1 Var2 Var3 Var4 ;
datalines;
2000 23 -10  -5  22 22.5
2001 -1  10  33 -20 21.5
2002 10  20 -30 -10 15
2003 20 -10  10 -10 15
2004  8  10   3 -12  7
2005 10  -5 -23 -11 10
run;

data want;
set have;
_count=0;
_temp=0;
array t(*) var:;
do _n_=1 to dim(t);
if t(_n_)&amp;gt;0 then do;_temp+t(_n_);_count+1;end;
end;
MPOS=_temp/_count;
drop _:;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 26 May 2018 14:40:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Mean-across-positive-valued-variables/m-p/465267#M285228</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-05-26T14:40:28Z</dc:date>
    </item>
    <item>
      <title>Re: Mean across positive valued variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Mean-across-positive-valued-variables/m-p/465337#M285229</link>
      <description>&lt;P&gt;This worked out for me.&lt;/P&gt;&lt;P&gt;Thank you!!&lt;/P&gt;</description>
      <pubDate>Sun, 27 May 2018 16:05:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Mean-across-positive-valued-variables/m-p/465337#M285229</guid>
      <dc:creator>ttaria</dc:creator>
      <dc:date>2018-05-27T16:05:30Z</dc:date>
    </item>
  </channel>
</rss>

