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