Extract data from Timetable on specified whole integer minutes . i.e. extract data every 6 minutes. Trying to use retime function.
5 views (last 30 days)
Show older comments
dt = minutes(6);
TT2 = retime(TT1,'regular','linear','TimeStep',dt)
%TT1 is a time table which also contains NaT and NaN values.
2 Comments
Steven Lord
on 19 Jun 2023
That looks like a line of code that will do what you described in the question. From the fact that you're asking about it on MATLAB Answers I presume it didn't behave as you expected. What did you expect it to do and what did it actually do?
Answers (1)
dpb
on 19 Jun 2023
Moved: dpb
on 19 Jun 2023
Your time variable is only dates and, as the error message says, to use retime this way the time vector has to be unique for each observation.
You either
- Didn't record the actual time of the observation, or
- Didn't read the time information when creating the table if was recorded, or
- The appropriate time would be that associated with the start of the record plus the duration data in the second colum.
We've no way to know which of those choices is the correct one, but on the assumption it's the third, then first read the data into a regular table and add the duration to the date to get the actual start time (if the data go over one day, you'll have to adjust for that, howeve).
Without further amplification, won't try specific code; if you need further help attach the actual data with the paperclip icon instead of posting images; not anything can do with them.
1 Comment
Peter Perkins
on 17 Jul 2023
Right, as dpb hints, you have daily data and are trying to retime it to 6min steps. You'd need to interpolate to do that, and you can, but if your data have multiple values on each date, interpolation is not allowed. I think dpb's 3'rd guess and suggestion is correct.
See Also
Categories
Find more on Timetables 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!