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 = 2x4 categorical
blue red green blue
blue green green blue
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 String
Compare the entire categorical array, colors
, to the string "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 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 = 2x4 categorical
blue red green blue
blue green green blue
List the 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
.