I need help with converting hourly data to daily summation inside a cell

3 views (last 30 days)
Dear all,
I have a cell that contains hourly data of precipitation for the period 1987-2016. I want to convert these hourly data to the daily sum. I tried doing this using timetable and then retime,
daily_precip = cellfun(@(x) table2timetable(x,'RowTime','date'), example, 'uniformoutput', false);
output = retime(daily_precip,'daily','sum');
but I got an error.
Error in @(x)table2timetable(x,'RowTime','date')
So how to convert my hourly data to the daily sum for all the three tables inside the cell?
I attached my cell (namely example).
Thank you

Accepted Answer

Yazan
Yazan on 15 Aug 2021
Edited: Yazan on 15 Aug 2021
Note that the data type in the column date is char, not datetime. Try the following:
clc, clear
load('example.mat');
data = cell(size(example));
for ncell=1:length(example)
data{ncell} = timetable(datetime(example{ncell}.date, 'Format', 'dd-MMM-yyyy HH:mm:ss'), example{ncell}.precip);
end
daily_precip = cellfun(@(x) retime(x, 'daily', 'sum'), data, 'UniformOutput', false);

More Answers (0)

Categories

Find more on Tables in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!