В этом примере показано, как сортировать наблюдения (строки) в массиве наборов данных с помощью командной строки. Можно также сортировать строки с помощью редактора переменных.
Загрузите массив образцов наборов данных, 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 лет.
Сортировка наблюдений в 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
Наблюдения сортируются по имени наблюдения в алфавитном порядке по возрастанию.