Sort Matlab table based on pre-defined order
47 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Metin Akyol
am 31 Jan. 2022
Kommentiert: Metin Akyol
am 31 Jan. 2022
I would like to sort a table based on a column that only contains 4 string values (A, B, C, and d) in an specific order that is not alphabetic.
This is what I am currently using:
sortrows(table_1,{'col1','col2'},{'ascend' 'descend'})
For col2 I would like to use a custom order that is neither ascend nor descend. So for instance the sorting order should be:
B
A
C
D
0 Kommentare
Akzeptierte Antwort
Stephen23
am 31 Jan. 2022
Bearbeitet: Stephen23
am 31 Jan. 2022
You could do something like this, where C is that column:
D = {'B';'A';'C';'D'}; % the desired order
C = {'C';'C';'A';'D';'B';'C';'A';'D';'B'} % the column to sort
[X,Y] = ismember(C,D);
[~,Z] = sort(Y);
D = C(Z) % of course you would sort the table e.g. T(Z,:)
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!