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