Класс: набор данных
(Не Рекомендуемый) сортировка строк массива набора данных
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Вар положительное целое число, вектор положительных целых чисел, вектора символов, массива строк, массива ячеек из символьных векторов или логического вектора.
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