Sort rows of a table based on vector

1 view (last 30 days)
Erik J
Erik J on 11 Dec 2020
Answered: Stephen23 on 12 Dec 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.

Accepted Answer

Erik J
Erik J on 11 Dec 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

More Answers (1)

Stephen23
Stephen23 on 12 Dec 2020
The MATLAB approach:
new_table = stim_sheet(a,:)

Categories

Find more on Environment and Settings in Help Center and File Exchange

Tags

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!