Класс: набор данных
(Не Рекомендуемый) Сортировка строк массива набора данных
The 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или, если переменная имеет несколько столбцов, в MATLAB sortrows функцию или своему собственному sortrows способ.
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