Compare Categorical Array Elements
This example shows how to use relational operations with a categorical array.
Create Categorical Array
Create a categorical array.
C = ["blue" "red" "green" "blue"; ... "blue" "green" "green" "blue"]; colors = categorical(C)
colors = 2×4 categorical
blue red green blue
blue green green blue
List the categories of the categorical array.
categories(colors)
ans = 3×1 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 = 1×4 logical array
1 0 1 1
Only the values in the second column differ between the rows.
Compare Entire Array to String
Compare the entire categorical array, colors, to the string "blue" to find the location of all blue values.
colors == "blue"ans = 2×4 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 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. The elements in the categorical array remain the same.
colors = categorical(colors,["red" "green" "blue"],Ordinal=true)
colors = 2×4 categorical
blue red green blue
blue green green blue
List the categories in colors.
categories(colors)
ans = 3×1 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 = 2×1 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 = 2×4 logical array
0 1 1 0
0 1 1 0
The function lt (<) indicates the location of all green and red values with 1.