データセット配列の観測値の並べ替え
この例では、コマンド ラインでデータセット配列の観測 (行) を並べ替える方法を示します。また、変数エディターで行を並べ替えることもできます。
観測値を昇順に並べ替えます。
標本のデータセット配列 hospital
を読み込みます。Age
の値の昇順で観測を並べ替えます。
load hospital dsAgeUp = sortrows(hospital,'Age'); dsAgeUp(1:10,{'LastName','Age'})
ans = LastName Age XUE-826 {'JACKSON' } 25 FZR-250 {'HALL' } 25 PUE-347 {'YOUNG' } 25 LIM-480 {'HILL' } 25 SCQ-914 {'JAMES' } 25 REV-997 {'ALEXANDER'} 25 XBR-291 {'GARCIA' } 27 VNL-702 {'MOORE' } 28 DTT-578 {'WALKER' } 28 XAX-646 {'COOPER' } 28
最年少の患者は 25 歳です。
観測値を降順に並べ替えます。
Age
の値の降順で観測を並べ替えます。
dsAgeDown = sortrows(hospital,'Age','descend'); dsAgeDown(1:10,{'LastName','Age'})
ans = LastName Age XBA-581 {'ROBINSON'} 50 DAU-529 {'REED' } 50 XLK-030 {'BROWN' } 49 FLJ-908 {'STEWART' } 49 GGU-691 {'HUGHES' } 49 MEZ-469 {'GRIFFIN' } 49 KOQ-996 {'MARTIN' } 48 BKD-785 {'CLARK' } 48 KKL-155 {'ADAMS' } 48 NSK-403 {'RAMIREZ' } 48
最年長の患者は 50 歳です。
2 つの変数の値で観測を並べ替えます。
hospital
の観測を、Age
、LastName
の順に並べ替えます。
dsName = sortrows(hospital,{'Age','LastName'}); dsName(1:10,{'LastName','Age'})
ans = LastName Age REV-997 {'ALEXANDER'} 25 FZR-250 {'HALL' } 25 LIM-480 {'HILL' } 25 XUE-826 {'JACKSON' } 25 SCQ-914 {'JAMES' } 25 PUE-347 {'YOUNG' } 25 XBR-291 {'GARCIA' } 27 XAX-646 {'COOPER' } 28 QEQ-082 {'COX' } 28 NSU-424 {'JENKINS' } 28
名前は年齢区分の昇順で並べ替えられ、各年齢区分の中ではアルファベット順に並べ替えられています。
観測値を混合の順に並べ替えます。
hospital
の観測を、Age
の昇順、Weight
の降順の順に並べ替えます。
dsWeight = sortrows(hospital,{'Age','Weight'},{'ascend','descend'}); dsWeight(1:10,{'LastName','Age','Weight'})
ans = LastName Age Weight FZR-250 {'HALL' } 25 189 SCQ-914 {'JAMES' } 25 186 XUE-826 {'JACKSON' } 25 174 REV-997 {'ALEXANDER'} 25 171 LIM-480 {'HILL' } 25 138 PUE-347 {'YOUNG' } 25 114 XBR-291 {'GARCIA' } 27 131 NSU-424 {'JENKINS' } 28 189 VNL-702 {'MOORE' } 28 183 XAX-646 {'COOPER' } 28 127
この結果から、25 歳で最も体重が重い患者は 189 ポンドであることがわかります。
観測名で観測を並べ替えます。
hospital
の観測を観測名で並べ替えます。
dsObs = sortrows(hospital,'obsnames'); dsObs(1:10,{'LastName','Age'})
ans = LastName Age AAX-056 {'LEE' } 44 AFB-271 {'PEREZ' } 44 AFK-336 {'WRIGHT' } 45 AGR-528 {'SIMMONS'} 45 ATA-945 {'WILSON' } 40 BEZ-311 {'DIAZ' } 45 BKD-785 {'CLARK' } 48 DAU-529 {'REED' } 50 DGC-290 {'BUTLER' } 38 DTT-578 {'WALKER' } 28
観測は観測名のアルファベット順の昇順に並べ替えられています。