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.

 採用された回答

Erik J
Erik J 2020 年 12 月 11 日

0 投票

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

その他の回答 (1 件)

Stephen23
Stephen23 2020 年 12 月 12 日

0 投票

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

カテゴリ

ヘルプ センター および File ExchangeResizing and Reshaping Matrices についてさらに検索

製品

リリース

R2020b

タグ

質問済み:

2020 年 12 月 11 日

回答済み:

2020 年 12 月 12 日

Community Treasure Hunt

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

Start Hunting!

Translated by