How to compute the frequency of hourly/daily observation?

4 views (last 30 days)
Hi everyone,
I want to compuet the hourly/daily number of observations. My data consistes of six colums (YYYY MM DD HH MM SS). Each date-time entry show one observation.
The measurements are uneven i.e. 0 to 100 etc. From the data set presnted below: I am interested to calcualet the hourly observations from 2015-05-06-10-35-00 to 2015-05-08-22-35-00 and same for the daily observations. (data also attached in excel sheet).
Thank you!

Accepted Answer

Cris LaPierre
Cris LaPierre on 15 Feb 2021
Your spreadsheet is empty.
I would load the data using readtable.
I would then create a new column and use datetime to convert YYYY MM DD HH MM SS to a datetime.
I would then use groupsummary to calculate a summary using 'hour' or 'day' as my grouping method.
  7 Comments
aa
aa on 15 Feb 2021
Thank you for help. This works excellent. However, there is somthing more i need calculate. Let me expalin you. For example, my data start from 2016-11-30-03-12-53.11 and ends at 2016-12-25-00-52-22.64 (test_data modified). I requires to calculate the hourly number of events from 2016-12-05-13-35-00 to 2016-12-10-13-35-00. More explicitly, hourly events as
2016-12-05-13-35-00
2016-12-05-14-35-00
2016-12-05-15-35-00
2016-12-05-16-35-00
2016-12-05-17-35-00
and so on. Where there is no event there should be a zero.
Thank you
Cris LaPierre
Cris LaPierre on 15 Feb 2021
Edited: Cris LaPierre on 17 Feb 2021
You will have to create your groupbins manually rather than use 'day' and 'hour'. To get a result for each bin, use the 'IncludeEmptyGroups' and 'IncludeMissingGroups' options.
% Create groupbins for hourly and daily
startT = datetime(2016,12,05,13,35,00);
endT = datetime(2016,12,10,13,35,00);
newT_hr = startT:hours(1):endT;
newT_day = startT:caldays(1):endT;
% Count groups
hrAvg = groupsummary(data,"timestamp",newT_hr,"IncludeEmptyGroups",true,"IncludeMissingGroups",true)
dayAvg = groupsummary(data,"timestamp",newT_day,"IncludeEmptyGroups",true,"IncludeMissingGroups",true)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!