How to sort all rows in one table based on one row from the table and another table
15 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 Tables 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!