struct2table and data preservation
Show older comments
I am working with time sensitive data which is in struct form. I imported my data directly using struct2table function so I will be able to use the 'sortrows' function specifically for the table data structure. I then decided to reverser the process by using table2struct, I am wondering if the sequence/sorting will be preserved after converting back to struct. I sorted by date/time. I want to know if the conversion will mess with the sorting.
3 Comments
Walter Roberson
on 4 Feb 2020
If you are sorting a table by date/time then it might possibly make more sense to use a timetable than a plain table, depending on the processing you are doing.
When you convert the resulting timetable to plain table, and then table2struct, the order would be sorted by the time key.
If for some reason you need to get back the original order, then before sorting add a column that is the row index; then you could sort by that to get your original order.
Stephen23
on 5 Feb 2020
Mohammad Sami
on 5 Feb 2020
You can also avoid converting to and from the table. You can sort directly as follows.
Assuming that time is of type date/time or numeric
[~,index] = sort([mystruct.time]);
mysortedstruct = mystruct(index);
Answers (0)
Categories
Find more on Data Type Conversion 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!