This example shows how to sort observations (rows) in a dataset array using the command line. You can also sort rows using the Variables editor.
Load the sample dataset array, hospital
. Sort the observations by the values in Age
, in ascending order.
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
The youngest patients are age 25.
Sort the observations by Age
in descending order.
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
The oldest patients are age 50.
Sort the observations in hospital
by Age
, and then by 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
Now the names are sorted alphabetically within increasing age groups.
Sort the observations in hospital
by Age
in an increasing order, and then by Weight
in a decreasing order.
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
This shows that the maximum weight among patients that are age 25 is 189 lbs.
Sort the observations in hospital
by the observation names.
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
The observations are sorted by observation name in ascending alphabetical order.