Combine Categorical Arrays
This example shows how to combine two categorical arrays.
Create Categorical Arrays
Create a categorical array, A
, containing the preferred lunchtime beverage of 25 students in classroom A.
rng('default') A = randi(3,[25,1]); A = categorical(A,1:3,{'milk' 'water' 'juice'});
A
is a 25-by-1 categorical array with three distinct categories: milk
, water
, and juice
.
Summarize the categorical array, A
.
summary(A)
milk 6 water 5 juice 14
Six students in classroom A prefer milk, five prefer water, and fourteen prefer juice.
Create another categorical array, B
, containing the preferences of 28 students in classroom B.
B = randi(3,[28,1]); B = categorical(B,1:3,{'milk' 'water' 'juice'});
B
is a 28-by-1 categorical array containing the same categories as A
.
Summarize the categorical array, B
.
summary(B)
milk 9 water 8 juice 11
Nine students in classroom B prefer milk, eight prefer water, and eleven prefer juice.
Concatenate Categorical Arrays
Concatenate the data from classrooms A and B into a single categorical array, Group1
.
Group1 = [A;B];
Summarize the categorical array, Group1
.
summary(Group1)
milk 15 water 13 juice 25
Group1
is a 53-by-1 categorical array with three categories: milk
, water
, and juice
.
Create Categorical Array with Different Categories
Create a categorical array, Group2
, containing data from 50 students who were given the additional beverage option of soda.
Group2 = randi(4,[50,1]); Group2 = categorical(Group2,1:4,{'juice' 'milk' 'soda' 'water'});
Summarize the categorical array, Group2
.
summary(Group2)
juice 12 milk 14 soda 10 water 14
Group2
is a 50-by-1 categorical array with four categories: juice
, milk
, soda
, and water
.
Concatenate Arrays with Different Categories
Concatenate the data from Group1
and Group2
.
students = [Group1;Group2];
Summarize the resulting categorical array, students
.
summary(students)
milk 29 water 27 juice 37 soda 10
Concatenation appends the categories exclusive to the second input, soda
, to the end of the list of categories from the first input, milk
, water
, juice
, soda
.
Use reordercats
to change the order of the categories in the categorical array, students
.
students = reordercats(students,{'juice','milk','water','soda'}); categories(students)
ans = 4x1 cell
{'juice'}
{'milk' }
{'water'}
{'soda' }
Union of Categorical Arrays
Use the function union
to find the unique responses from Group1
and Group2
.
C = union(Group1,Group2)
C = 4x1 categorical
milk
water
juice
soda
union
returns the combined values from Group1
and Group2
with no repetitions. In this case, C
is equivalent to the categories of the concatenation, students
.
All of the categorical arrays in this example were nonordinal. To combine ordinal categorical arrays, they must have the same sets of categories including their order.
See Also
categorical
| categories
| summary
| union
| cat
| horzcat
| vertcat
Related Examples
- Create Categorical Arrays
- Combine Categorical Arrays Using Multiplication
- Convert Text in Table Variables to Categorical
- Access Data Using Categorical Arrays