MATLAB Answers

0

How can I extract the time column of a timetable

Asked by Antonio Melieni on 20 Apr 2019
Latest activity Commented on by Peter Perkins
on 3 May 2019
Hi,
I need to extrct the time column of a timetable as I need to manipulate it.
any Ideas?

  3 Comments

Look at the help file for timetable. You should be able to access the 1st column with the dot notation.
Following example is straight from the help file.
MeasurementTime = datetime({'2015-12-18 08:03:05';'2015-12-18 10:03:17';'2015-12-18 12:03:13'});
Temp = [37.3;39.1;42.3];
Pressure = [30.1;30.03;29.9];
WindSpeed = [13.4;6.5;7.3];
WindDirection = categorical({'NW';'N';'NW'});
TT = timetable(MeasurementTime,Temp,Pressure,WindSpeed,WindDirection)
Now reference as
>> TT.MeasurementTime
ans =
3×1 datetime array
18-Dec-2015 08:03:05
18-Dec-2015 10:03:17
18-Dec-2015 12:03:13
You could of course convert to a (normal) table, or even an array.
what I needed was array.Time;
Just for the record, David was correct, except for one subtle point: the row times in a timetable are metadata, not one of the variables. You can access them by name in exactly the same way, though.
David created his timetable with a workspace variable named MeasurementTime, whose name the timetable picked up; that's why his row times were named Measurement time. The default name is Time, though.

Sign in to comment.

1 Answer

Answer by Andrei Bobrov
on 20 Apr 2019
Edited by Andrei Bobrov
on 20 Apr 2019
 Accepted Answer

variant
a = rand(20,6);
date1 = datetime(2019,4,19) + hours(cumsum(70*rand(20,1)));
TT = array2timetable(a,'RowTimes',date1);
date_out = TT.Time;

  1 Comment

Sign in to comment.