This example shows how to combine two categorical arrays.
Create a categorical array, A
, containing the preferred lunchtime beverage of 25 students in classroom A.
A = gallery('integerdata',3,[25,1],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 8 water 8 juice 9
Eight students in classroom A prefer milk, eight prefer water, and nine prefer juice.
Create another categorical array, B
, containing the preferences of 28 students in classroom B.
B = gallery('integerdata',3,[28,1],3); 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 12 water 10 juice 6
Twelve students in classroom B prefer milk, ten prefer water, and six prefer juice.
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 20 water 18 juice 15
Group1
is a 53-by-1 categorical array with three categories: milk
, water
, and juice
.
Create a categorical array, Group2
, containing data from 50 students who were given the additional beverage option of soda.
Group2 = gallery('integerdata',4,[50,1],2); Group2 = categorical(Group2,1:4,{'juice' 'milk' 'soda' 'water'});
Summarize the categorical array, Group2
.
summary(Group2)
juice 18 milk 10 soda 13 water 9
Group2
is a 50-by-1 categorical array with four categories: juice
, milk
, soda
, and water
.
Concatenate the data from Group1
and Group2
.
students = [Group1;Group2];
Summarize the resulting categorical array, students
.
summary(students)
milk 30 water 27 juice 33 soda 13
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' }
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.
cat
| categorical
| categories
| horzcat
| summary
| union
| vertcat