Сравнение категориальных массивов

В этом примере показано, как использовать реляционные операции с категориальным массивом.

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

Создайте массив ячеек 2 на 4 из векторов символов.

C = {'blue' 'red' 'green' 'blue';...
    'blue' 'green' 'green' 'blue'};

colors = categorical(C)
colors = 2x4 categorical
     blue      red        green      blue 
     blue      green      green      blue 

colors представляет собой категориальный массив 2 на 4.

Перечислите категории категориального массива.

categories(colors)
ans = 3x1 cell
    {'blue' }
    {'green'}
    {'red'  }

Определите, равны ли элементы

Используйте реляционный оператор, eq (==), для сравнения первой и второй строк colors.

colors(1,:) == colors(2,:)
ans = 1x4 logical array

   1   0   1   1

Между строками различаются только значения во втором столбце.

Сравнение целого массива с вектором символов

Сравните весь категориальный массив, colors, в вектор символов 'blue' чтобы найти местоположение всех blue значения.

colors == 'blue'
ans = 2x4 logical array

   1   0   0   1
   1   0   0   1

Существует четыре синих значения в colorsпо одному в каждом углу массива.

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

Добавьте математическое упорядоченное расположение к категориям в colors. Задайте порядок категорий, который представляет упорядоченное расположение цветового спектра, red < green < blue.

colors = categorical(colors,{'red','green' 'blue'},'Ordinal',true)
colors = 2x4 categorical
     blue      red        green      blue 
     blue      green      green      blue 

Элементы в категориальном массиве остаются прежними.

Перечислите дискретные категории в colors.

categories(colors)
ans = 3x1 cell
    {'red'  }
    {'green'}
    {'blue' }

Сравнение элементов на основе порядка

Определите, есть ли элементы в первом столбце colors больше элементов во втором столбце.

colors(:,1) > colors(:,2)
ans = 2x1 logical array

   1
   1

Оба значения в первом столбце, blue, больше соответствующих значений во втором столбце red и green.

Найти все элементы в colors которые меньше 'blue'.

colors < 'blue'
ans = 2x4 logical array

   0   1   1   0
   0   1   1   0

Функция lt (<) указывает местоположение всех green и red значения с 1.

См. также

|

Похожие примеры

Подробнее о