Is there a command to index months in a timetable series?
I would like to index one long term timetable in two ways. In one, all July, August, and September are indexed. In the second Novemeber through March are indexed.
My timetable is a daily series.

 Accepted Answer

Adam Danz
Adam Danz on 23 Sep 2020
Edited: Adam Danz on 23 Sep 2020
Logical index of rows that are in July,Aug,Sept.
idx = ismember(month(TT2_staLCA_WS.Time),[7,8,9]);

4 Comments

Eric Escoto
Eric Escoto on 23 Sep 2020
Edited: Eric Escoto on 23 Sep 2020
Nice. So this provides the logical array. What is the next step to pull those values (meaning the data and Time columns) into a new TT? Is it an 'if' statement?
It's just basic indexing.
For example,
T = table((1:5)',["A";"B";"C";"D";"E"])
% T =
% 5×2 table
% Var1 Var2
% ____ ____
% 1 "A"
% 2 "B"
% 3 "C"
% 4 "D"
% 5 "E"
idx = ismember(T.Var1, [1,3,4]) % rows where var1 is 1,3,or 4
% idx =
% 5×1 logical array
% 1
% 0
% 1
% 1
% 0
% EXAMPLES OF INDEXING
T(idx,:)
% 3×2 table
% Var1 Var2
% ____ ____
% 1 "A"
% 3 "C"
% 4 "D"
T.Var2(idx)
% 3×1 string array
% "A"
% "C"
% "D"
Ah of course. Perfect.
Thanks, Adam!
Socially distant high-five!

Sign in to comment.

More Answers (0)

Categories

Asked:

on 23 Sep 2020

Commented:

on 23 Sep 2020

Community Treasure Hunt

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

Start Hunting!