how to merge multiple timetable

6 views (last 30 days)
dear advisers,
i have multiple timetables with different timestamps (yyyy-mm-dd hh:mm), but within a same time period.
I wish to merge multiple timetables into a single timetable, and the measurement recorded for each corresponding timestamps shall be organized in ascending order (e.g. 2020-08-01 0:00 , 2008-08-01 1:00, ....).
Thank you for your advice.

Accepted Answer

Cris LaPierre
Cris LaPierre on 23 Aug 2020
You might be able to use synchronize. If you have more than 2 tables, you will need to use it multiple times.
  2 Comments
J. Alex Lee
J. Alex Lee on 23 Aug 2020
Just a quick note this would probably require conversion of your tables into timetables first with table2timetable().
Also based on quick read of the docs, doesn't appear to have an option to behave more like a join, i.e., do not fill missing? Anyway I suppose it ultimately depends on exactly what the end objective is.
Cris LaPierre
Cris LaPierre on 23 Aug 2020
The OP states they are using timetables.

Sign in to comment.

More Answers (1)

J. Alex Lee
J. Alex Lee on 21 Aug 2020
Edited: J. Alex Lee on 21 Aug 2020
If the tables have the same columns, you should be able to simply vertically concatenate them and sort
t0 = sortrows(vertcat(t1,t2,t3))
  4 Comments
Sehoon Chang
Sehoon Chang on 22 Aug 2020
yes, i meant the matlab 'table'.
What i meant by the measurement invertal (diff(timestamp)) is...
table_1 lists radiation value every 15 minutes and table_2 lists other measurements every hour.
Thanks alot for your help :)
J. Alex Lee
J. Alex Lee on 22 Aug 2020
look into "innerjoin" and "outerjoin"

Sign in to comment.

Categories

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