Main Content

Compare Categorical Array Elements

This example shows how to use relational operations with a categorical array.

Create Categorical Array from Cell Array of Character Vectors

Create a 2-by-4 cell array of character vectors.

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

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

colors is a 2-by-4 categorical array.

List the categories of the categorical array.

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

Determine If Elements Are Equal

Use the relational operator, eq (==), to compare the first and second rows of colors.

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

   1   0   1   1

Only the values in the second column differ between the rows.

Compare Entire Array to Character Vector

Compare the entire categorical array, colors, to the character vector 'blue' to find the location of all blue values.

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

   1   0   0   1
   1   0   0   1

There are four blue entries in colors, one in each corner of the array.

Convert to an Ordinal Categorical Array

Add a mathematical ordering to the categories in colors. Specify the category order that represents the ordering of color spectrum, red < green < blue.

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

The elements in the categorical array remain the same.

List the discrete categories in colors.

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

Compare Elements Based on Order

Determine if elements in the first column of colors are greater than the elements in the second column.

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

   1
   1

Both values in the first column, blue, are greater than the corresponding values in the second column, red and green.

Find all the elements in colors that are less than 'blue'.

colors < 'blue'
ans = 2x4 logical array

   0   1   1   0
   0   1   1   0

The function lt (<) indicates the location of all green and red values with 1.

See Also

|

Related Examples

More About