Main Content

乗算を使用した categorical 配列の結合

この例では、関数 times を使用して順序 categorical 配列および未定義の要素を含む categorical 配列を結合する方法を説明します。2 つの categorical 配列に対して times を呼び出すと、出力は新しいカテゴリをもつ categorical 配列になります。新しいカテゴリのセットは入力配列のカテゴリから作成されたすべての順序対 (デカルト積) のセットになります。times は入力配列の対応する要素の順序対として出力配列の各要素を形成します。出力配列は入力配列と同じサイズです。

2 つの categorical 配列の結合

times を使用して 2 つの categorical 配列を結合します。入力配列は同じ数の要素をもたなければなりませんが、カテゴリの数は異なってもかまいません。

A = categorical({'blue','red','green'});
B = categorical({'+','-','+'});
C = A.*B
C = 1x3 categorical
     blue +      red -      green + 

カテゴリのデカルト積

C のカテゴリを示します。このカテゴリは A および B のカテゴリから作成できるすべての順序対、つまりデカルト積です。

categories(C)
ans = 6x1 cell
    {'blue +' }
    {'blue -' }
    {'green +'}
    {'green -'}
    {'red +'  }
    {'red -'  }

結果として、A.*BB.*A と等しくなりません。

D = B.*A
D = 1x3 categorical
     + blue      - red      + green 

categories(D)
ans = 6x1 cell
    {'+ blue' }
    {'+ green'}
    {'+ red'  }
    {'- blue' }
    {'- green'}
    {'- red'  }

未定義の要素を含む乗算

2 つの categorical 配列を結合します。A または B のどちらかに未定義の要素が含まれる場合、C の対応する要素は undefined となります。

A = categorical({'blue','red','green','black'});
B = categorical({'+','-','+','-'});
A = removecats(A,{'black'});
C = A.*B
C = 1x4 categorical
     blue +      red -      green +      <undefined> 

順序 categorical 配列のデカルト積

2 つの順序 categorical 配列を結合します。CAB の両方が順序の場合にのみ順序 categorical 配列となります。C のカテゴリの順序は入力 categorical 配列の順序に基づいたものとなります。

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 -' }

参考

| | |

関連する例

詳細