В этом примере показано, как использовать times функция объединения категориальных массивов, включая порядковые категориальные массивы и массивы с неопределенными элементами. При звонке times на двух категориальных массивах выходные данные представляют собой категориальный массив с новыми категориями. Набор новых категорий - это набор всех упорядоченных пар, созданных из категорий входных массивов или декартового произведения. times формирует каждый элемент выходного массива как упорядоченную пару соответствующих элементов входных массивов. Выходной массив имеет тот же размер, что и входные массивы.
Объединение двух категориальных массивов с помощью times. Входные массивы должны иметь одинаковое количество элементов, но могут иметь разное количество категорий.
A = categorical({'blue','red','green'});
B = categorical({'+','-','+'});
C = A.*BC = 1x3 categorical
blue + red - green +
Показать категории C. Категории представляют собой все упорядоченные пары, которые могут быть созданы из категорий A и B, также известное как декартово произведение.
categories(C)
ans = 6x1 cell
{'blue +' }
{'blue -' }
{'green +'}
{'green -'}
{'red +' }
{'red -' }
Как следствие, A.*B не равно B.*A.
D = B.*A
D = 1x3 categorical
+ blue - red + green
categories(D)
ans = 6x1 cell
{'+ blue' }
{'+ green'}
{'+ red' }
{'- blue' }
{'- green'}
{'- red' }
Объединение двух категориальных массивов. Если либо A или B имеют неопределенный элемент, соответствующий элемент C является undefined.
A = categorical({'blue','red','green','black'});
B = categorical({'+','-','+','-'});
A = removecats(A,{'black'});
C = A.*BC = 1x4 categorical
blue + red - green + <undefined>
Объединение двух порядковых категориальных массивов. C является порядковым категориальным массивом, только если A и B оба являются порядковыми. Порядок категорий C следует из порядков входных категориальных массивов.
A = categorical({'blue','red','green'},{'green','red','blue'},'Ordinal',true);
B = categorical({'+','-','+'},'Ordinal',true);
C = A.*B;
categories(C)ans = 6x1 cell
{'green +'}
{'green -'}
{'red +' }
{'red -' }
{'blue +' }
{'blue -' }
categorical | categories | summary | times