sortrows
(非推奨) データセット配列の行の並べ替え
dataset データ型は推奨されません。異種混合データを処理するには、代わりに MATLAB® table データ型を使用します。詳細は、MATLAB table ドキュメンテーションを参照してください。
構文
B = sortrows(A)
B = sortrows(A,vars)
B = sortrows(A,'obsnames')
B = sortrows(A,vars,mode)
[B,idx] = sortrows(A)
説明
B = sortrows(A) は、データセット配列 A をコピーして、A のすべての変数で観測値を昇順に並べ替えたものを返します。B の観測値は、最初に最初の変数で、2 番目に 2 番目の変数で、のような順で並べ替えられています。A の各変数は、sort への有効な入力でなければなりません。また、変数に複数の列が含まれる場合は、MATLAB sortrows 関数または独自の sortrows メソッドへの有効な入力でなければなりません。
B = sortrows(A,vars) は、vars で指定された変数によって A 内の観測値を並べ替えます。vars は、正の整数、正の整数のベクトル、文字ベクトル、string 配列、文字ベクトルの cell 配列、または logical ベクトルです。
B = sortrows(A,'obsnames') は A の観測値を観測名ごとに並べ替えます。
B = sortrows(A,vars,mode) は、mode で指定した方向に並べ替えを行います。mode が 'ascend' (既定の設定) または 'descend' である場合、sortrows は vars で指定された変数に基づき、それぞれ昇順または降順で A を並べ替えます。mode を 'ascend' または 'descend' が含まれている cell 配列または string 配列にして、vars 内の変数ごとに異なる並べ替え順序を指定することもできます。vars として [] を指定すると、並べ替えにすべての変数を使用します。
[B,idx] = sortrows(A) は、B = A(idx,:) となるインデックス ベクトル idx も返します。
例
hospital.mat のデータを年齢で、次に姓で、並べ替えます。
load hospital
hospital(1:5,1:3)
ans =
LastName Sex Age
YPL-320 'SMITH' Male 38
GLI-532 'JOHNSON' Male 43
PNI-258 'WILLIAMS' Female 38
MIJ-579 'JONES' Female 40
XLK-030 'BROWN' Female 49
hospital = sortrows(hospital,{'Age','LastName'});
hospital(1:5,1:3)
ans =
LastName Sex Age
REV-997 'ALEXANDER' Male 25
FZR-250 'HALL' Male 25
LIM-480 'HILL' Female 25
XUE-826 'JACKSON' Male 25
SCQ-914 'JAMES' Male 25 hospital のデータを、性別の昇順および年齢の降順に並べ替えます。
hospital = sortrows(hospital,{'Sex','Age'},{'ascend','descend'});
hospital(1:5,1:3)
ans =
LastName Sex Age
XLK-030 'BROWN' Female 49
GGU-691 'HUGHES' Female 49
KKL-155 'ADAMS' Female 48
HQO-561 'BRYANT' Female 48
BKD-785 'CLARK' Female 48
hospital(end-4:end,1:3)
ans =
LastName Sex Age
VNL-702 'MOORE' Male 28
REV-997 'ALEXANDER' Male 25
FZR-250 'HALL' Male 25
XUE-826 'JACKSON' Male 25
SCQ-914 'JAMES' Male 25