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.