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