<?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: 5 minute average for data with multiple entries per minute in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/5-minute-average-for-data-with-multiple-entries-per-minute/m-p/574004#M12625</link>
    <description>You definitely don't want that BY statement in there.&lt;BR /&gt;&lt;BR /&gt;Try it without and then with MOVAVE but SAS marks time in seconds, so 5 minutes may be 60*5 = 300?&lt;BR /&gt;&lt;BR /&gt;If not, its pretty straightforward to do via PROC MEANS or other options. Are you trying to do a moving average or an average for every 5 minute? I thought you want the average for 0-4,  5-9 not 0-4, 1-5, 2-6, which is the moving average.</description>
    <pubDate>Tue, 16 Jul 2019 20:44:07 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2019-07-16T20:44:07Z</dc:date>
    <item>
      <title>5 minute average for data with multiple entries per minute</title>
      <link>https://communities.sas.com/t5/New-SAS-User/5-minute-average-for-data-with-multiple-entries-per-minute/m-p/574001#M12623</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a days worth of data that is time marked almost every second, where every second a concentration of X chemical is recorded.&lt;/P&gt;&lt;P&gt;I have been able to round the time to the nearest minute in SAS, however I am trying to get the average of all the concentrations starting with my first recorded minutes until the 5th minute, and then so on every 5 minutes.&lt;/P&gt;&lt;P&gt;So in this case I want the average of '4:42, 4:43, 4:44, 4:45, and 4:46' then the next five minutes etc.&lt;/P&gt;&lt;P&gt;Below is a snippet of the data. The first two columns are the original date and time, X is the chemical and its recorded volume. Date time is just the combination of the first two columns, and the second to last column is the SAS_rounded time, and the last column is the Date and Sas_rounded time added together.&lt;/P&gt;&lt;P&gt;As you can see I have multiple values for just one minute.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried using the MOVAVE function with a unit of 5, but it was only taking the average of the first five entries of X, and so on. I want the code to be able to get the average of the first 5 minutes of X recordings and so on.&lt;/P&gt;&lt;P&gt;I also added the code I tried to use for this.&lt;/P&gt;&lt;P&gt;Any help with this would be great, thanks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Example of Data&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;DATE&lt;/TD&gt;&lt;TD&gt;TIME&lt;/TD&gt;&lt;TD&gt;X&lt;/TD&gt;&lt;TD&gt;Date time&lt;/TD&gt;&lt;TD&gt;sas_rounded&lt;/TD&gt;&lt;TD&gt;sas_datetime&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:04&lt;/TD&gt;&lt;TD&gt;.1003&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:04&lt;/TD&gt;&lt;TD&gt;.025&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:05&lt;/TD&gt;&lt;TD&gt;.3623&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:06&lt;/TD&gt;&lt;TD&gt;1.5256&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:07&lt;/TD&gt;&lt;TD&gt;22.3626&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:07&lt;/TD&gt;&lt;TD&gt;2.2256&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:08&lt;/TD&gt;&lt;TD&gt;3.3458&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:09&lt;/TD&gt;&lt;TD&gt;6.3565&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:10&lt;/TD&gt;&lt;TD&gt;7.5642&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:10&lt;/TD&gt;&lt;TD&gt;8.2356&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:11&lt;/TD&gt;&lt;TD&gt;2.5655&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:12&lt;/TD&gt;&lt;TD&gt;5.235&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:13&lt;/TD&gt;&lt;TD&gt;-8.22&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:13&lt;/TD&gt;&lt;TD&gt;-.123&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:14&lt;/TD&gt;&lt;TD&gt;-5.235&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:15&lt;/TD&gt;&lt;TD&gt;5.2546&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:16&lt;/TD&gt;&lt;TD&gt;-20.256&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:16&lt;/TD&gt;&lt;TD&gt;6.3412&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:17&lt;/TD&gt;&lt;TD&gt;-5.2532&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:18&lt;/TD&gt;&lt;TD&gt;3.5687&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:19&lt;/TD&gt;&lt;TD&gt;6.43&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:19&lt;/TD&gt;&lt;TD&gt;5.2356&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:20&lt;/TD&gt;&lt;TD&gt;0.2535&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5/26/2019&lt;/TD&gt;&lt;TD&gt;4:42:21&lt;/TD&gt;&lt;TD&gt;-2.5254&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;TD&gt;4:42:00 AM&lt;/TD&gt;&lt;TD&gt;5/26/2019 4:42&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc expand data = twentysix out = twentysix_5min method=None;&lt;BR /&gt;CONVERT X = X_ave/TRANSFORM=(MOVAVE 5);&lt;BR /&gt;by sas_datetime;&lt;BR /&gt;run;&lt;BR /&gt;proc expand data = twentysix out = twentysix_5min_TRY method=None;&lt;BR /&gt;CONVERT X = X_ave / TRANSOUT=(MOVAVE 5 trim 4);&lt;BR /&gt;by sas_datetime;&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Jul 2019 20:35:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/5-minute-average-for-data-with-multiple-entries-per-minute/m-p/574001#M12623</guid>
      <dc:creator>annie_1</dc:creator>
      <dc:date>2019-07-16T20:35:54Z</dc:date>
    </item>
    <item>
      <title>Re: 5 minute average for data with multiple entries per minute</title>
      <link>https://communities.sas.com/t5/New-SAS-User/5-minute-average-for-data-with-multiple-entries-per-minute/m-p/574004#M12625</link>
      <description>You definitely don't want that BY statement in there.&lt;BR /&gt;&lt;BR /&gt;Try it without and then with MOVAVE but SAS marks time in seconds, so 5 minutes may be 60*5 = 300?&lt;BR /&gt;&lt;BR /&gt;If not, its pretty straightforward to do via PROC MEANS or other options. Are you trying to do a moving average or an average for every 5 minute? I thought you want the average for 0-4,  5-9 not 0-4, 1-5, 2-6, which is the moving average.</description>
      <pubDate>Tue, 16 Jul 2019 20:44:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/5-minute-average-for-data-with-multiple-entries-per-minute/m-p/574004#M12625</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-07-16T20:44:07Z</dc:date>
    </item>
    <item>
      <title>Re: 5 minute average for data with multiple entries per minute</title>
      <link>https://communities.sas.com/t5/New-SAS-User/5-minute-average-for-data-with-multiple-entries-per-minute/m-p/574324#M12682</link>
      <description>&lt;P&gt;You are correct I want the average for 0-4 min, 5-9 min etc.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;So I should take out the transform function and use the proc means option?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for responding.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jul 2019 18:50:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/5-minute-average-for-data-with-multiple-entries-per-minute/m-p/574324#M12682</guid>
      <dc:creator>annie_1</dc:creator>
      <dc:date>2019-07-17T18:50:35Z</dc:date>
    </item>
    <item>
      <title>Re: 5 minute average for data with multiple entries per minute</title>
      <link>https://communities.sas.com/t5/New-SAS-User/5-minute-average-for-data-with-multiple-entries-per-minute/m-p/574338#M12685</link>
      <description>You need proc means but unfortunately you'll have to either create a custom format to group  your times or create a new variable that will group them into 5 minutes. Do you know how to do that or do you need help with it? If you're a beginner, creating a new variable that had the grouping is the best method. I would not use IF/THEN statements but use the fact that times are in seconds and that you can round them to the nearest value. You usually have to adjust the formula slightly, by subtracting or adding a constant to get exactly what you want for rounding.</description>
      <pubDate>Wed, 17 Jul 2019 19:23:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/5-minute-average-for-data-with-multiple-entries-per-minute/m-p/574338#M12685</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-07-17T19:23:04Z</dc:date>
    </item>
    <item>
      <title>Re: 5 minute average for data with multiple entries per minute</title>
      <link>https://communities.sas.com/t5/New-SAS-User/5-minute-average-for-data-with-multiple-entries-per-minute/m-p/574351#M12686</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;

*find start of time block;
time_start = max(round(time - 150 , 300), 0);
*find end of time block;
time_end = round(time + 150, 300);
*create a text label of data;
time_group = catx(" to ", put(minute(time_start), z2.), put(minute(time_end), z2.));
*format to control appearance;
format time: time.;
run;

&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;May need some tweaks, not fully tested.&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jul 2019 19:53:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/5-minute-average-for-data-with-multiple-entries-per-minute/m-p/574351#M12686</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-07-17T19:53:16Z</dc:date>
    </item>
    <item>
      <title>Re: 5 minute average for data with multiple entries per minute</title>
      <link>https://communities.sas.com/t5/New-SAS-User/5-minute-average-for-data-with-multiple-entries-per-minute/m-p/574354#M12687</link>
      <description>&lt;P&gt;OK, great. I will try it out.&lt;/P&gt;&lt;P&gt;Thank you for the code, I appreciate your help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;A&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;</description>
      <pubDate>Wed, 17 Jul 2019 20:24:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/5-minute-average-for-data-with-multiple-entries-per-minute/m-p/574354#M12687</guid>
      <dc:creator>annie_1</dc:creator>
      <dc:date>2019-07-17T20:24:20Z</dc:date>
    </item>
  </channel>
</rss>

