take averages of obvervations for each month

1 view (last 30 days)
alpedhuez
alpedhuez on 5 Jul 2020
Commented: madhan ravi on 5 Jul 2020
suppose I have a table S
date income
----------------------------
1/1/2020 100
1/2/2020 20
I want to create a table T of mean of income at each month like
month income average
----------------------------
1/2020 50
2/2020 20
So is it that I first create
T.yyyyMM=datetime(S.date, 'InputFormat','MM/dd/yyyy', 'Format','yyyyMM');
then use
T.accumarray(T.yyyyMM,S.income,[],@mean)
Does it make sense?

Accepted Answer

jonas
jonas on 5 Jul 2020
Edited: jonas on 5 Jul 2020
Try this instead
retime(T,'monthly','mean')
where T is a timetable
example
t = (datetime(2020,1,1):days(1):datetime(2021,1,1))';
income = 10+rand(numel(t),1).*4;
T = timetable(t,income)
T_Monthly = retime(T,'monthly','mean')
  3 Comments

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!