<?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: Calculate multilevel conditional means using daily data in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Calculate-multilevel-conditional-means-using-daily-data/m-p/622340#M77276</link>
    <description>&lt;P&gt;This can be done in a single SAS step, although that step reads the dataset twice, once to count and sum, and the second pass to output record including the newly calculated mean.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID	Week	DayofWeek	StudyDay	SleepTime;
cards;
1	1	1	1	360
1	1	2	2	450
1	1	3	3	320
1	1	4	4	420
1	1	5	5	220
1	1	6	6	400
1	1	7	7	360
1	2	1	8	320
1	2	2	9	.
1	2	3	10	220
1	2	4	11	.
1	2	5	12	400
1	2	6	13	.
1	2	7	14	450
1	3	1	15	.
1	3	2	16	.
1	3	3	17	.
1	3	4	18	.
1	3	5	19	.
1	3	6	20	420
1	3	7	21	220
;
data want (drop=_:);
  set have (in=firstpass)
      have (in=secondpass);
  by id week;
  if first.week then call missing(_n,_sum);
  if firstpass=1 and sleeptime^=. then do;
    _n+1;
    _sum+sleeptime;
  end;
  if secondpass;
  if _n&amp;gt;=3 then weeklyaverage=_sum/_n;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Wed, 05 Feb 2020 00:48:13 GMT</pubDate>
    <dc:creator>mkeintz</dc:creator>
    <dc:date>2020-02-05T00:48:13Z</dc:date>
    <item>
      <title>Calculate multilevel conditional means using daily data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Calculate-multilevel-conditional-means-using-daily-data/m-p/622315#M77271</link>
      <description>&lt;P&gt;Hello SAS Users,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;I have a long data set with daily data across 6 weeks. I am trying calculate the &lt;STRONG&gt;weekly&lt;/STRONG&gt; mean for &lt;STRONG&gt;each&lt;/STRONG&gt; &lt;STRONG&gt;ID&lt;/STRONG&gt;&amp;nbsp;for weeks that &lt;U&gt;have 3 or more days of data&lt;/U&gt;. My data looks like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Week&lt;/TD&gt;&lt;TD&gt;DayofWeek&lt;/TD&gt;&lt;TD&gt;StudyDay&lt;/TD&gt;&lt;TD&gt;SleepTime&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;360&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;450&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;320&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;420&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;220&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;400&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;360&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;320&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;220&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;400&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;450&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;19&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;420&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;TD&gt;220&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I want is this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Week&lt;/TD&gt;&lt;TD&gt;DayofWeek&lt;/TD&gt;&lt;TD&gt;StudyDay&lt;/TD&gt;&lt;TD&gt;SleepTime&lt;/TD&gt;&lt;TD&gt;WeeklyAverage&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;360&lt;/TD&gt;&lt;TD&gt;361.4285714&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;450&lt;/TD&gt;&lt;TD&gt;361.4285714&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;320&lt;/TD&gt;&lt;TD&gt;361.4285714&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;420&lt;/TD&gt;&lt;TD&gt;361.4285714&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;220&lt;/TD&gt;&lt;TD&gt;361.4285714&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;400&lt;/TD&gt;&lt;TD&gt;361.4285714&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;360&lt;/TD&gt;&lt;TD&gt;361.4285714&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;320&lt;/TD&gt;&lt;TD&gt;347.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;347.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;220&lt;/TD&gt;&lt;TD&gt;347.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;347.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;400&lt;/TD&gt;&lt;TD&gt;347.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;347.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;450&lt;/TD&gt;&lt;TD&gt;347.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;19&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;420&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;TD&gt;220&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here, there was no average calculated for Week 3 because there were not sufficient days of sleep data.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've tried this code but it is producing duplicate days:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc means data=work.have;&lt;BR /&gt;class week ID ;&lt;BR /&gt;var SleepTime;&lt;BR /&gt;output out=work.summary mean= n= nmiss= / autoname;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc sql noprint;&lt;BR /&gt;create table work.merge as&lt;BR /&gt;select a.* , b.*&lt;BR /&gt;from work.have a&lt;BR /&gt;,work.summary b&lt;BR /&gt;where a.ID = b.ID&lt;BR /&gt;order by a.ID, a.SleepTime;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;proc sort data=work.merge;&lt;BR /&gt;by Week;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;data work.merge;&lt;BR /&gt;set merge;&lt;BR /&gt;by week;&lt;BR /&gt;if last.ID then do;&lt;BR /&gt;output;&lt;BR /&gt;if SleepTime_N &amp;gt;=3 then SleepTime=SleepTime_Mean;&lt;BR /&gt;else SleepTime=.;&lt;BR /&gt;ID="average of ID";&lt;BR /&gt;output;&lt;BR /&gt;end;&lt;BR /&gt;if index (ID, 'Avg')=0 then output;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your insight is greatly appreciated!&lt;/P&gt;&lt;P&gt;Best,&lt;/P&gt;&lt;P&gt;Stephanie&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Feb 2020 22:26:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Calculate-multilevel-conditional-means-using-daily-data/m-p/622315#M77271</guid>
      <dc:creator>srobinson5</dc:creator>
      <dc:date>2020-02-04T22:26:01Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate multilevel conditional means using daily data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Calculate-multilevel-conditional-means-using-daily-data/m-p/622326#M77272</link>
      <description>&lt;P&gt;UNTESTED CODE&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc summary nway data=have;
    class id week;
    var sleeptime;
    output out=_means_ mean=weeklyaverage n=n;
run;
data want;
    merge have _means_;
    by id week;
    if n&amp;lt;3 then weeklyaverage=.;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 04 Feb 2020 23:22:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Calculate-multilevel-conditional-means-using-daily-data/m-p/622326#M77272</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2020-02-04T23:22:15Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate multilevel conditional means using daily data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Calculate-multilevel-conditional-means-using-daily-data/m-p/622333#M77273</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/291127"&gt;@srobinson5&lt;/a&gt;&amp;nbsp; It's a straight forward SQL with a condition&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
input ID	Week	DayofWeek	StudyDay	SleepTime;
cards;
1	1	1	1	360
1	1	2	2	450
1	1	3	3	320
1	1	4	4	420
1	1	5	5	220
1	1	6	6	400
1	1	7	7	360
1	2	1	8	320
1	2	2	9	.
1	2	3	10	220
1	2	4	11	.
1	2	5	12	400
1	2	6	13	.
1	2	7	14	450
1	3	1	15	.
1	3	2	16	.
1	3	3	17	.
1	3	4	18	.
1	3	5	19	.
1	3	6	20	420
1	3	7	21	220
;


proc sql;
create table want as
select * ,ifn(n(sleeptime)&amp;gt;=3,mean(sleeptime),.) as Weekly_average
from have
group by id, week
order by id, week ,dayofweek;
quit;


&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 04 Feb 2020 23:57:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Calculate-multilevel-conditional-means-using-daily-data/m-p/622333#M77273</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-02-04T23:57:05Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate multilevel conditional means using daily data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Calculate-multilevel-conditional-means-using-daily-data/m-p/622335#M77274</link>
      <description>&lt;P&gt;And a Datastep approach:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
input ID	Week	DayofWeek	StudyDay	SleepTime;
cards;
1	1	1	1	360
1	1	2	2	450
1	1	3	3	320
1	1	4	4	420
1	1	5	5	220
1	1	6	6	400
1	1	7	7	360
1	2	1	8	320
1	2	2	9	.
1	2	3	10	220
1	2	4	11	.
1	2	5	12	400
1	2	6	13	.
1	2	7	14	450
1	3	1	15	.
1	3	2	16	.
1	3	3	17	.
1	3	4	18	.
1	3	5	19	.
1	3	6	20	420
1	3	7	21	220
;

data want;
 do _n_=1 by 1 until (last.week);
  set have;
  by id week;
  _n=sum(_n,n(sleeptime));
  _s=sum(sleeptime,_s,0);
 end;
 if _n&amp;gt;=3 then Weekly_average=_s/_n;
 do _n_=1 to _n_;
  set have;
  output;
 end;
 drop _:;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 05 Feb 2020 00:29:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Calculate-multilevel-conditional-means-using-daily-data/m-p/622335#M77274</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-02-05T00:29:10Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate multilevel conditional means using daily data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Calculate-multilevel-conditional-means-using-daily-data/m-p/622340#M77276</link>
      <description>&lt;P&gt;This can be done in a single SAS step, although that step reads the dataset twice, once to count and sum, and the second pass to output record including the newly calculated mean.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID	Week	DayofWeek	StudyDay	SleepTime;
cards;
1	1	1	1	360
1	1	2	2	450
1	1	3	3	320
1	1	4	4	420
1	1	5	5	220
1	1	6	6	400
1	1	7	7	360
1	2	1	8	320
1	2	2	9	.
1	2	3	10	220
1	2	4	11	.
1	2	5	12	400
1	2	6	13	.
1	2	7	14	450
1	3	1	15	.
1	3	2	16	.
1	3	3	17	.
1	3	4	18	.
1	3	5	19	.
1	3	6	20	420
1	3	7	21	220
;
data want (drop=_:);
  set have (in=firstpass)
      have (in=secondpass);
  by id week;
  if first.week then call missing(_n,_sum);
  if firstpass=1 and sleeptime^=. then do;
    _n+1;
    _sum+sleeptime;
  end;
  if secondpass;
  if _n&amp;gt;=3 then weeklyaverage=_sum/_n;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 05 Feb 2020 00:48:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Calculate-multilevel-conditional-means-using-daily-data/m-p/622340#M77276</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2020-02-05T00:48:13Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate multilevel conditional means using daily data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Calculate-multilevel-conditional-means-using-daily-data/m-p/623113#M77323</link>
      <description>&lt;P&gt;Thank you all! Your solutions were extremely helpful and informative for getting the data I needed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best,&lt;/P&gt;&lt;P&gt;Stephanie&lt;/P&gt;</description>
      <pubDate>Fri, 07 Feb 2020 16:48:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Calculate-multilevel-conditional-means-using-daily-data/m-p/623113#M77323</guid>
      <dc:creator>srobinson5</dc:creator>
      <dc:date>2020-02-07T16:48:52Z</dc:date>
    </item>
  </channel>
</rss>

