Main Content

곱셈으로 categorical형 배열 결합하기

이 예제에서는 times 함수를 사용하여, 순서형 categorical형 배열 및 정의되지 않은 요소를 가진 배열을 포함한 categorical형 배열을 결합하는 방법을 보여줍니다. 두 개의 categorical형 배열에 대해 times를 호출하는 경우 출력값은 새 범주를 갖는 categorical형 배열입니다. 새 범주 집합은 입력 배열의 범주에서 생성된, 순서가 지정된 모든 쌍으로 구성된 집합, 즉 카테시안 곱(Cartesian product)입니다. times는 입력 배열의 대응 요소로 구성된 순서가 지정된 쌍으로 출력 배열의 각 요소를 생성합니다. 출력 배열은 입력 배열과 크기가 같습니다.

두 categorical형 배열 결합

times를 사용하여 두 categorical형 배열을 결합합니다. 입력 배열은 동일한 개수의 요소를 가져야 하지만, 범주 개수는 서로 다를 수 있습니다.

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

범주의 카테시안 곱(Cartesian Product)

C의 범주를 표시합니다. 범주는 AB의 범주에서 생성될 수 있는, 순서가 지정된 모든 쌍이며 이를 카테시안 곱이라고도 합니다.

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

정의되지 않은 요소를 사용한 곱셈

두 categorical형 배열을 결합합니다. AB 중 하나에 정의되지 않은 요소가 있으면 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형 배열의 카테시안 곱(Cartesian Product)

두 순서형 categorical형 배열을 결합합니다. AB가 모두 순서형인 경우에만 C가 순서형 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 -' }

참고 항목

| | |

관련 예제

세부 정보