В этом примере показано, как объединить два категориальных массива.
Создание категориального массива, A, содержащий предпочтительный напиток в обеденное время из 25 учеников в классе А.
rng('default') A = randi(3,[25,1]); A = categorical(A,1:3,{'milk' 'water' 'juice'});
A представляет собой категориальный массив 25 на 1 с тремя различными категориями: milk, water, и juice.
Обобщите категориальный массив, A.
summary(A)
milk 6
water 5
juice 14
Шесть учеников в классе А предпочитают молоко, пятеро - воду, четырнадцать - сок.
Создайте другой категориальный массив, B, содержащий предпочтения 28 учеников в классе B.
B = randi(3,[28,1]);
B = categorical(B,1:3,{'milk' 'water' 'juice'});B является массивом категорий 28 на 1, содержащим те же категории, что и A.
Обобщите категориальный массив, B.
summary(B)
milk 9
water 8
juice 11
Девять учеников класса Б предпочитают молоко, восемь - воду, одиннадцать - сок.
Объедините данные из классов A и B в единый категориальный массив. Group1.
Group1 = [A;B];
Обобщите категориальный массив, Group1
summary(Group1)
milk 15
water 13
juice 25
Group1 представляет собой категориальный массив 53 на 1 с тремя категориями: milk, water, и juice.
Создание категориального массива, Group2, содержащий данные от 50 студентов, которым был предоставлен дополнительный вариант напитка газировки.
Group2 = randi(4,[50,1]);
Group2 = categorical(Group2,1:4,{'juice' 'milk' 'soda' 'water'});Обобщите категориальный массив, Group2.
summary(Group2)
juice 12
milk 14
soda 10
water 14
Group2 представляет собой категориальный массив 50 на 1 с четырьмя категориями: juice, milk, soda, и water.
Объединение данных из Group1 и Group2.
students = [Group1;Group2];
Суммировать результирующий категориальный массив, students.
summary(students)
milk 29
water 27
juice 37
soda 10
Конкатенация добавляет категории, исключающие второй вход, soda, в конец списка категорий из первого ввода, milk, water, juice, soda.
Использовать reordercats для изменения порядка категорий в категориальном массиве, students.
students = reordercats(students,{'juice','milk','water','soda'});
categories(students)ans = 4x1 cell
{'juice'}
{'milk' }
{'water'}
{'soda' }
Используйте функцию union чтобы найти уникальные ответы от Group1 и Group2.
C = union(Group1,Group2)
C = 4x1 categorical
milk
water
juice
soda
union возвращает комбинированные значения из Group1 и Group2 без повторов. В этом случае C эквивалентно категориям конкатенации, students.
Все категориальные массивы в этом примере были неупорядоченными. Для объединения порядковых категориальных массивов они должны иметь одинаковые наборы категорий, включая их порядок.
cat | categorical | categories | horzcat | summary | union | vertcat