Порядковые категориальные массивы

Порядок категорий

categorical тип данных должен хранить данные со значениями от конечного множества дискретных категорий, которые могут иметь естественный порядок. Можно задать и перестроить порядок категорий во всех категориальных массивах. Однако только можно обработать порядковые категориальные массивы как наличие математического упорядоченного расположения их категориям. Используйте порядковый категориальный массив, если вы хотите использовать функции minMax , или реляционные операции, такой как больше, чем и меньше, чем.

Дискретный набор любимых категорий {'dog' 'cat' 'bird'} не имеет никакого значимого математического упорядоченного расположения. Вы свободны использовать любой порядок категории, и значение связанных данных не изменяется. Например, pets = categorical({'bird','cat','dog','dog','cat'}) создает категориальный массив, и категории перечислены в алфавитном порядке, {'bird' 'cat' 'dog'}. Можно принять решение задать или изменить порядок категорий к {'dog' 'cat' 'bird'} и значение данных не изменяется.

порядковые категориальные массивы содержат категории, которые имеют значимое математическое упорядоченное расположение. Например, дискретный набор категорий размера {'small', 'medium', 'large'} имеет математическое упорядоченное расположение small < medium < large. Первая перечисленная категория является самой маленькой, и последняя категория является самой большой. Порядок категорий в порядковом категориальном массиве влияет на результат реляционных сравнений порядковых категориальных массивов.

Как создать порядковые категориальные массивы

В этом примере показано, как создать порядковый категориальный массив с помощью categorical функция с 'Ordinal',true аргумент пары "имя-значение".

Порядковый категориальный массив из Массива ячеек из символьных векторов

Создайте порядковый категориальный массив, sizes, от массива ячеек из символьных векторов, A. Используйте valuesetВ виде вектора из уникальных значений, чтобы задать категории для sizes.

A = {'medium' 'large';'small' 'medium'; 'large' 'small'};
valueset = {'small', 'medium', 'large'};

sizes = categorical(A,valueset,'Ordinal',true)
sizes = 3x2 categorical
     medium      large  
     small       medium 
     large       small  

sizes 3 2 порядковый категориальный массив с тремя категориями, таким образом что small < medium < large. Порядок значений в valueset становится порядком категорий sizes.

Порядковый категориальный массив от Целых чисел

Создайте эквивалентный категориальный массив из массива целых чисел. Используйте значения 1, 2, и 3 задавать категории smallСредняя, и large, соответственно.

A2 = [2 3; 1 2; 3 1];
valueset = 1:3;
catnames = {'small','medium','large'};

sizes2 = categorical(A2,valueset,catnames,'Ordinal',true)
sizes2 = 3x2 categorical
     medium      large  
     small       medium 
     large       small  

Сравните sizes и sizes2

isequal(sizes,sizes2)
ans = logical
   1

sizes и sizes2 эквивалентные категориальные массивы с тем же упорядоченным расположением категорий.

Преобразуйте категориальный массив от непорядкового до порядкового

Создайте непорядковый категориальный массив из массива ячеек из символьных векторов, A.

sizes3 = categorical(A)
sizes3 = 3x2 categorical
     medium      large  
     small       medium 
     large       small  

Определите, является ли категориальный массив порядковым.

isordinal(sizes3)
ans = logical
   0

sizes3 непорядковый категориальный массив с тремя категориями, {'large','medium','small'}. Категории sizes3 отсортированные уникальные значения от A. Необходимо использовать входной параметр, valueset, задавать различный порядок категории.

Преобразуйте sizes3 к порядковому категориальному массиву, такому, что small < medium < large.

sizes3 = categorical(sizes3,{'small','medium','large'},'Ordinal',true);

sizes3 теперь 3 2 порядковый категориальный массив, эквивалентный sizes и sizes2.

Работа с порядковыми категориальными массивами

Для того, чтобы объединить или сравнить два категориальных массива, наборы категорий для обоих входных массивов должны быть идентичными, включая их порядок. Кроме того, порядковые категориальные массивы всегда защищаются. Поэтому, когда вы присваиваете значения порядковому категориальному массиву, значения должны принадлежать одной из существующих категорий. Для получения дополнительной информации смотрите работу с Защищенными Категориальными массивами.

Смотрите также

| | |

Связанные примеры

Больше о

Для просмотра документации необходимо авторизоваться на сайте