Sort rows of a table based on vector

5 visualizzazioni (ultimi 30 giorni)
Erik J
Erik J il 11 Dic 2020
Risposto: Stephen23 il 12 Dic 2020
I have a table, Table_A, with 500 elements.
I have a vector, x, with number 1:500 in a random order.
I want to rearrange the table based on the values of x. For example, if the first three elements of x are 383, 24, 191, then the 393rd row of Table_A will be moved to row 1, the 24th row will be moved to row 2, the 191st row will be moved to row 3 and so on.
Any help is appreciated.
Thank you.

Risposta accettata

Erik J
Erik J il 11 Dic 2020
I was able to figure this out.
new_table = zeros(500,8);
new_table = array2table(new_table);
a = randperm(500);
for ii=1:500
row = stim_sheet(a(ii),:);
new_table(ii,:) = row;
end

Più risposte (1)

Stephen23
Stephen23 il 12 Dic 2020
The MATLAB approach:
new_table = stim_sheet(a,:)

Categorie

Scopri di più su Shifting and Sorting Matrices in Help Center e File Exchange

Prodotti


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by