我有一个5x5表:
a b c d e
a 1 2 3 4 5
b 3 5 7 2 6
c 1 3 4 6 1
d 4 4 1 7 8
e 6 7 2 1 6
Run Code Online (Sandbox Code Playgroud)
标题是字符串.我想知道如何使用标题重新排序表行和列,所以例如我希望它们按此顺序,e b c a d然后这将是表:
e b c a d
e 6 7 2 6 1
b 6 5 7 3 2
c 1 3 4 1 6
a 5 7 3 1 4
d 8 4 1 4 7
Run Code Online (Sandbox Code Playgroud)
将表定义为
T = table;
T.a = [1 3 1 4 6].';
T.b = [2 5 3 4 7].';
T.c = [3 7 4 1 2].';
T.d = [4 2 6 7 1].';
T.e = [5 6 1 8 6].';
Run Code Online (Sandbox Code Playgroud)
让新的期望秩序
order = {'e' 'b' 'c' 'a' 'd'};
Run Code Online (Sandbox Code Playgroud)
可以使用索引来重新排序表:
[~, ind] = ismember(order, T.Properties.VariableNames);
T_reordered = T(ind,order);
Run Code Online (Sandbox Code Playgroud)
注意:
T_reorderedCols = T(:,order);T_reorderedRows = T(ind,:);所以在这个例子中,
T =
a b c d e
_ _ _ _ _
1 2 3 4 5
3 5 7 2 6
1 3 4 6 1
4 4 1 7 8
6 7 2 1 6
T_reordered =
e b c a d
_ _ _ _ _
6 7 2 6 1
6 5 7 3 2
1 3 4 1 6
5 2 3 1 4
8 4 1 4 7
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4020 次 |
| 最近记录: |