How to sort all rows in one table based on one row from the table and another table
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Pushti Shah
el 19 de Ag. de 2022
Comentada: Stephen23
el 22 de Ag. de 2022
I have two different tables one with names (table 1) and others with names and data (table 2) but the second table is out of order. I want to order the names in table 2 by the order in table 1 but also not lose the data in the row. For example:
Table 1: Table 2:
Mom Sister 25 67 89
Dad Mom 88 76 23
Sister Dad 90 45 28
and I want to sort it according to table 1 so
Sister 25 67 89
Mom 88 76 23
Dad 90 45 28
1 comentario
Stephen23
el 22 de Ag. de 2022
t1 = table({'Mom';'Dad';'Sister'},'VariableNames',{'Names'})
t2 = table({'Sister';'Mom';'Dad'},[25;88;90],[67;76;45],[89;23;28],'VariableNames',{'Names','Var1','Var2','Var3'})
t3 = join(t1,t2) % the simple MATLAB approach
Respuesta aceptada
Voss
el 19 de Ag. de 2022
Editada: Voss
el 19 de Ag. de 2022
t1 = table( ...
{'Mom';'Dad';'Sister'}, ...
'VariableNames',{'Names'})
t2 = table( ...
{'Sister';'Mom';'Dad'}, ...
[25;88;90], ...
[67;76;45], ...
[89;23;28], ...
'VariableNames',{'Names','Var1','Var2','Var3'})
[~,idx] = ismember(t1.Names,t2.Names);
t2 = t2(idx,:)
Ver también
Categorías
Más información sobre Other Formats en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!