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