how to filter data by date?

7 views (last 30 days)
Manny
Manny on 4 Mar 2024
Answered: Steven Lord on 4 Mar 2024
hi everyone
I am trying to filter records by date. I am getting error. How do I fix it?
Code:
Data = convertvars(Data, 2, @(x) datetime(x, 'InputFormat', 'yyyy-MM-dd'));
FilteredDataRealizedVol = Data(:,["TRADE_DATE","REALIZED_VOLATILITY"]);
FilteredDataRealizedVol = FilteredDataRealizedVol(FilteredDataRealizedVol(:,1) <= datetime(2016,7,18),:);
FilteredDataRealizedVol = FilteredDataRealizedVol(FilteredDataRealizedVol(:,1) >= datetime(1928,1,27),:);
Error:
Error using <=
This operation is not defined between 'table' and 'datetime'. The input that is not a table or timetable must be a numeric or
logical array.
Error in LinearRegression (line 26)
FilteredDataRealizedVol = FilteredDataRealizedVol(FilteredDataRealizedVol(:,1) <= datetime(2016,7,18),:);
Thank you

Accepted Answer

Walter Roberson
Walter Roberson on 4 Mar 2024
FilteredDataRealizedVol = FilteredDataRealizedVol(FilteredDataRealizedVol{:,1} <= datetime(2016,7,18),:);
  5 Comments
Manny
Manny on 4 Mar 2024
i did put the {} but still not working:
FilteredDataRealizedVol = FilteredDataRealizedVol(FilteredDataRealizedVol{:,1} <= datetime(2016,7,18),:);
FilteredDataRealizedVol = FilteredDataRealizedVol(FilteredDataRealizedVol{:,1} >= datetime(1928,1,27),:);
Manny
Manny on 4 Mar 2024
i figured it out now.
the problem was in another part of the code that was referencing the unfiltered data.
thank you everyone for your help!

Sign in to comment.

More Answers (1)

Steven Lord
Steven Lord on 4 Mar 2024
Use a timerange to index into the timetable.

Categories

Find more on Preprocessing Data 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!