Класс: набор данных
Сортировка строк массива набора данных
Тип данных dataset может быть удален в будущем релизе. Чтобы работать с гетерогенными данными, используйте тип данных MATLAB® table вместо этого. Смотрите MATLAB документация table для получения дополнительной информации.
B = sortrows(A)
B = sortrows(A,vars)
B = sortrows(A,'obsnames')
B = sortrows(A,vars,mode)
[B,idx] = sortrows(A)
B = sortrows(A) возвращает копию массива набора данных A, с наблюдениями, отсортированными в порядке возрастания по всем переменным в A. Наблюдения в B сортируются сначала первой переменной, затем второй переменной, и так далее. Каждая переменная в A должна быть допустимым входом к sort, или, если переменная имеет несколько столбцов к функции sortrows MATLAB или к ее ownsortrows методу.
B = sortrows(A,vars) сортирует наблюдения в A переменными, заданными vars. vars является положительным целым числом, вектором положительных целых чисел, вектора символов, массива строк, массива ячеек из символьных векторов или логического вектора.
B = sortrows(A,'obsnames') сортирует наблюдения в A именем наблюдения.
B = sortrows(A,vars,mode) виды в направлении заданы mode. Когда mode является 'ascend' (значение по умолчанию) или 'descend', виды sortrows A переменными, заданными vars в порядке возрастания или убывания, соответственно. mode может также быть массивом строк или массивом ячеек, содержащим 'ascend' или 'descend', чтобы задать различное направление сортировки для каждой переменной в vars. Задайте [] для vars к виду с помощью всех переменных.
[B,idx] = sortrows(A) также возвращает индексный вектор idx, таким образом что B = A(idx,:).
Сортировка данных в hospital.mat возрастом и затем фамилией:
load hospital
hospital(1:5,1:3)
ans =
LastName Sex Age
YPL-320 'SMITH' Male 38
GLI-532 'JOHNSON' Male 43
PNI-258 'WILLIAMS' Female 38
MIJ-579 'JONES' Female 40
XLK-030 'BROWN' Female 49
hospital = sortrows(hospital,{'Age','LastName'});
hospital(1:5,1:3)
ans =
LastName Sex Age
REV-997 'ALEXANDER' Male 25
FZR-250 'HALL' Male 25
LIM-480 'HILL' Female 25
XUE-826 'JACKSON' Male 25
SCQ-914 'JAMES' Male 25 Сортировка данных в hospital полом в порядке возрастания и возраста в порядке убывания.
hospital = sortrows(hospital,{'Sex','Age'},{'ascend','descend'});
hospital(1:5,1:3)
ans =
LastName Sex Age
XLK-030 'BROWN' Female 49
GGU-691 'HUGHES' Female 49
KKL-155 'ADAMS' Female 48
HQO-561 'BRYANT' Female 48
BKD-785 'CLARK' Female 48
hospital(end-4:end,1:3)
ans =
LastName Sex Age
VNL-702 'MOORE' Male 28
REV-997 'ALEXANDER' Male 25
FZR-250 'HALL' Male 25
XUE-826 'JACKSON' Male 25
SCQ-914 'JAMES' Male 25