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