Sorting a matrix column to match another column
Afficher commentaires plus anciens
I have a 20x3 table and a 20x6 double.
The table has a bunch of strings and a column of identifying numbers in no particular order.
example:
[a b 44;
c d 16;
e f 03;
g h 63];
A column of the other matrix has the exact same numbers in a different order.
example:
[63;
16;
44;
3];
My question is if there's any way to sort the data in the table to match the order of the other matrix.
example:
[g h 63;
c d 16;
a b 44;
e f 03];
1 commentaire
Stephen23
le 28 Nov 2022
Use the second output of ISMEMBER.
Réponses (1)
t = table( ...
["a";"c";"e";"g"],["b";"d";"f";"h"],[44; 16; 03; 63])
d = [63; 16; 44; 3];
[~,idx] = ismember(d,t{:,3});
t_sorted = t(idx,:)
Catégories
En savoir plus sur Shifting and Sorting Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!