Check for missing entry in data points with certain rule

1 view (last 30 days)
Hello,
I have a matrix of time series as attached, in which the first column is the year, 2nd month, 3rd is day, 4th and 5th columns are the values. Currently, I have attached a sample of only the year 1960, likewise I have years till 2000 with values. I want to check whether there is atleast 6-months of data entry and at least 20-days entries for each month. If this satisfy this rule certain calculation will be performed, otherwise it will move to next year. I tried the code in foll.way, however, it is giving me time series of only January instead of January to December.
[unqMonth,~,Month_ID] = unique(QYrly(:,2));
Monly = size(unqMonth,1)>=6; % Check for atleast 6-months of data entry
Dly = histc(QYrly(:,2),unqMonth)>=20; % Checks for atleast 20 days entries for each month
Qout = QYrly(ismember(Month_ID,find(Monly)) & ismember(Month_ID,find(Dly)),:);
Any help?
  1 Comment
Poulomi Ganguli
Poulomi Ganguli on 6 Sep 2017
Edited: Poulomi Ganguli on 6 Sep 2017
Ok I solved it using a simple loop:
if (Monly==1 & any(Dly ~= 0))
QOut = QYrly;
else QOut = [];
end

Sign in to comment.

Answers (0)

Categories

Find more on Matrices and Arrays 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!