Класс: набор данных
(Не рекомендуется) Сортировка строк массива наборов данных
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