How to get number of occurrence in a list with gaps?
2 views (last 30 days)
Show older comments
Good morning;
I have a list of dates like below:
1/1/2019
1/1/2019
2/1/2019
4/1/2019
4/1/2019
7/1/2019
7/1/2019
7/1/2019
I would like to generate a list with dates and number of occurrence. the output must be :
1/1/2019 2
2/1/2019 1
3/1/2019 0
4/1/2019 2
5/1/2019 0
6/1/2019 0
7/1/2019 3
I've been using "awk" to do that, but it doesn't give a good results with the "gaps" in the dates list
is there a way to do that with matlab?, I'm not very good at it.
2 Comments
madhan ravi
on 22 Sep 2019
Edited: madhan ravi
on 22 Sep 2019
Upload your data file. Which version of MATLAB are you using?
Accepted Answer
Bruno Luong
on 22 Sep 2019
Edited: Bruno Luong
on 22 Sep 2019
(EDIT for R2016a, not supported for strings.)
% dummy test data
d={'1/1/2019'
'1/1/2019'
'2/1/2019'
'4/1/2019'
'4/1/2019'
'7/1/2019'
'7/1/2019'
'7/1/2019'}
dn=datenum(d,'dd/mm/yyyy');
count=accumarray(dn-min(dn)+1,1);
date=datestr(min(dn)+(0:size(count,1)-1)','dd/mm/yyyy');
T=table(date,count)
returns result in table
T =
7×2 table
date count
__________ _____
01/01/2019 2
02/01/2019 1
03/01/2019 0
04/01/2019 2
05/01/2019 0
06/01/2019 0
07/01/2019 3
7 Comments
Bruno Luong
on 22 Sep 2019
Yes that's how it supposes to work since 1/1/2019 is not belong to any gap.
Without any specification, how should the filling code decides to add counting from 1/1/2019 and not from 1/1/2000, or 1/1/1900?
If you want the code to makes the count from whatever the date, replace
min(dn)
occurences by
datenum('1/1/2019',...)
More Answers (0)
See Also
Categories
Find more on Dates and Time in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!