<?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 How to create a 3 year average in sas in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-3-year-average-in-sas/m-p/777776#M247511</link>
    <description>&lt;P&gt;I have a dataset that has a Year column and a Death column. I want to create 3 year average deaths column (where the first and last years just have the single year's deaths).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For example:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;year&lt;/TD&gt;&lt;TD&gt;deaths&lt;/TD&gt;&lt;TD&gt;3 year average deaths&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2009&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2010&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;8.666666667&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;16.33333333&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2012&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2013&lt;/TD&gt;&lt;TD&gt;43&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;21.66666667&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2015&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;8.666666667&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2016&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7.333333333&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;9.333333333&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;15.33333333&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2019&lt;/TD&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;TD&gt;21.66666667&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2020&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So the entry for the 3 year average deaths for 2010 is (6+17+3)/3=8.666666667.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How would I do this in SAS?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;</description>
    <pubDate>Mon, 01 Nov 2021 20:54:40 GMT</pubDate>
    <dc:creator>Cruiser13</dc:creator>
    <dc:date>2021-11-01T20:54:40Z</dc:date>
    <item>
      <title>How to create a 3 year average in sas</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-3-year-average-in-sas/m-p/777776#M247511</link>
      <description>&lt;P&gt;I have a dataset that has a Year column and a Death column. I want to create 3 year average deaths column (where the first and last years just have the single year's deaths).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For example:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;year&lt;/TD&gt;&lt;TD&gt;deaths&lt;/TD&gt;&lt;TD&gt;3 year average deaths&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2009&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2010&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;8.666666667&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;16.33333333&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2012&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2013&lt;/TD&gt;&lt;TD&gt;43&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;21.66666667&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2015&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;8.666666667&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2016&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7.333333333&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;9.333333333&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;15.33333333&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2019&lt;/TD&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;TD&gt;21.66666667&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2020&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So the entry for the 3 year average deaths for 2010 is (6+17+3)/3=8.666666667.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How would I do this in SAS?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;</description>
      <pubDate>Mon, 01 Nov 2021 20:54:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-3-year-average-in-sas/m-p/777776#M247511</guid>
      <dc:creator>Cruiser13</dc:creator>
      <dc:date>2021-11-01T20:54:40Z</dc:date>
    </item>
    <item>
      <title>Re: How to create a 3 year average in sas</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-3-year-average-in-sas/m-p/777781#M247516</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What you are after is a centered moving average.&lt;/P&gt;
&lt;P&gt;You can do that with the CMOVAVE transformation operation in PROC EXPAND (you need SAS/ETS).&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data work.deaths;
informat year $4.;
input year $ deaths three3_year_average_deaths;
date=mdy(12,31,input(year,4.));
format date date9.;
cards;
2009 6	6
2010 17	8.666666667
2011 3	16.33333333
2012 29	25
2013 43	29
2014 15	21.66666667
2015 7	8.666666667
2016 4	7.333333333
2017 11	9.333333333
2018 13	15.33333333
2019 22	21.66666667
2020 30	30
;
run;

proc expand data=work.deaths out=work.death_exp method=none;
   id date;
   convert deaths = deaths_exp / transformout=(cmovave 3);
run;
/* end of program */&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Cheers,&lt;/P&gt;
&lt;P&gt;Koen&lt;/P&gt;</description>
      <pubDate>Mon, 01 Nov 2021 21:33:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-3-year-average-in-sas/m-p/777781#M247516</guid>
      <dc:creator>sbxkoenk</dc:creator>
      <dc:date>2021-11-01T21:33:29Z</dc:date>
    </item>
    <item>
      <title>Re: How to create a 3 year average in sas</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-3-year-average-in-sas/m-p/777809#M247539</link>
      <description>&lt;P&gt;If you have SAS/ETS, which contains PROC EXPAND, you can use the solution provided by&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/60547"&gt;@sbxkoenk&lt;/a&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Otherwise a little data step programming is needed, with code to include the preceding, current, and subsequent death counts.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data work.deaths;
  informat year $4.;
  input year $ deaths ; 
  date=mdy(12,31,input(year,4.));
  format date date9.;
cards;
2009 6	
2010 17	
2011 3	
2012 29	
2013 43	
2014 15	
2015 7	
2016 4	
2017 11	
2018 13	
2019 22	
2020 30	
run;

data want (drop=_:);
  merge deaths
        deaths (firstobs=2 keep=deaths rename=(deaths=_nxt_deaths)) 
  end=lastrec;
  centered_moving_average=mean(lag(deaths),deaths,_nxt_deaths);
  if _n_=1 or lastrec=1 then centered_moving_average=deaths;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 02 Nov 2021 02:13:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-3-year-average-in-sas/m-p/777809#M247539</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2021-11-02T02:13:02Z</dc:date>
    </item>
    <item>
      <title>Re: How to create a 3 year average in sas</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-3-year-average-in-sas/m-p/777925#M247590</link>
      <description>&lt;P&gt;Thank you, this worked!&lt;/P&gt;</description>
      <pubDate>Tue, 02 Nov 2021 14:16:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-create-a-3-year-average-in-sas/m-p/777925#M247590</guid>
      <dc:creator>Cruiser13</dc:creator>
      <dc:date>2021-11-02T14:16:17Z</dc:date>
    </item>
  </channel>
</rss>

