How to get number of occurrence in a list with gaps?
2 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
madhan ravi
2019 年 9 月 22 日
編集済み: madhan ravi
2019 年 9 月 22 日
Upload your data file. Which version of MATLAB are you using?
採用された回答
Bruno Luong
2019 年 9 月 22 日
編集済み: Bruno Luong
2019 年 9 月 22 日
(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 件のコメント
Bruno Luong
2019 年 9 月 22 日
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',...)
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Dates and Time についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!