Sort rows of a table based on vector

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.

 Accepted Answer

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

More Answers (1)

The MATLAB approach:
new_table = stim_sheet(a,:)

Categories

Products

Release

R2020b

Tags

Asked:

on 11 Dec 2020

Answered:

on 12 Dec 2020

Community Treasure Hunt

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

Start Hunting!