Main Content

순서형 categorical형 배열

범주의 순서

categorical은 유한한 이산 범주 집합에 속하는 값의 데이터를 저장하는 데이터형이며, 일반적인 순서를 가질 수 있습니다. 모든 categorical형 배열에서 범주 순서를 지정하고 재정렬할 수 있습니다. 그러나, 범주 간에 수학적 정렬(Mathematical Ordering)이 적용되는 것으로 취급할 수 있는 것은 순서형 categorical형 배열뿐입니다. 함수 min, max 또는 보다 큼 및 보다 작음과 같은 관계 연산을 사용하려면 순서형 categorical형 배열을 사용하십시오.

애완 동물 범주들로 구성된 이산 집합 {'dog' 'cat' 'bird'}에는 유의미한 수학적 정렬이 적용되지 않습니다. 어떠한 범주 순서든 원하는 대로 사용할 수 있으며, 관련 데이터의 의미는 변경되지 않습니다. 예를 들어, pets = categorical({'bird','cat','dog','dog','cat'})은 categorical형 배열을 생성하며, 범주는 사전순으로 나열됩니다({'bird' 'cat' 'dog'}). 범주의 순서를 {'dog' 'cat' 'bird'}로 지정하거나 변경할 수 있으며, 이 경우 데이터의 의미는 변경되지 않습니다.

순서형 categorical형 배열은 유의미한 수학적 정렬이 적용되는 범주를 포함합니다. 예를 들어, 크기 범주들로 구성된 이산 집합 {'small', 'medium', 'large'}에는 수학적 정렬 small < medium < large가 적용됩니다. 첫 번째로 나열되는 범주가 가장 작고, 마지막 범주가 가장 큽니다. 순서형 categorical형 배열의 범주 순서에 따라 순서형 categorical형 배열의 관계 비교 결과가 달라집니다.

순서형 categorical형 배열 생성 방법

이 예제에서는 'Ordinal',true 이름-값 쌍의 인수와 함께 categorical 함수를 사용하여 순서형 categorical형 배열을 생성하는 방법을 보여줍니다.

문자형 벡터로 구성된 셀형 배열에서의 순서형 categorical형 배열

문자형 벡터로 구성된 셀형 배열 A에서 순서형 categorical형 배열 sizes를 생성합니다. 고유한 값으로 구성된 벡터로 지정되는 valueset을 사용하여 sizes에 대한 범주를 정의합니다.

A = {'medium' 'large';'small' 'medium'; 'large' 'small'};
valueset = {'small', 'medium', 'large'};

sizes = categorical(A,valueset,'Ordinal',true)
sizes = 3x2 categorical
     medium      large  
     small       medium 
     large       small  

sizes는 3개의 범주를 갖는 3×2 순서형 categorical형 배열이며 small < medium < large가 됩니다. valueset의 값 순서가 sizes의 범주 순서가 됩니다.

정수에서 순서형 categorical형 배열 생성

정수로 구성된 배열에서 이와 동일한 categorical형 배열을 생성합니다. 1, 2, 3 값으로 small 범주, medium 범주, large 범주를 각각 정의합니다.

A2 = [2 3; 1 2; 3 1];
valueset = 1:3;
catnames = {'small','medium','large'};

sizes2 = categorical(A2,valueset,catnames,'Ordinal',true)
sizes2 = 3x2 categorical
     medium      large  
     small       medium 
     large       small  

sizessizes2를 비교합니다.

isequal(sizes,sizes2)
ans = logical
   1

sizessizes2는 동일한 범주 순서를 가지는 동일한 categorical형 배열입니다.

categorical형 배열을 비순서형에서 순서형으로 변환

문자형 벡터로 구성된 셀형 배열 A에서 비순서형 categorical형 배열을 생성합니다.

sizes3 = categorical(A)
sizes3 = 3x2 categorical
     medium      large  
     small       medium 
     large       small  

categorical형 배열이 순서형인지 확인합니다.

isordinal(sizes3)
ans = logical
   0

sizes3은 3개의 범주 {'large','medium','small'}을 갖는 비순서형 categorical형 배열입니다. sizes3의 범주는 A에서 가져와 정렬한 고유한 값들입니다. 입력 인수 valueset을 사용하여 다른 범주 순서를 지정해야 합니다.

sizes3small < medium < large가 되도록 순서형 categorical형 배열로 변환합니다.

sizes3 = categorical(sizes3,{'small','medium','large'},'Ordinal',true);

sizes3은 이제 sizessizes2와 동일한 3×2 순서형 categorical형 배열이 됩니다.

순서형 categorical형 배열 사용하기

두 개의 categorical형 배열을 결합하거나 비교하려면 두 입력 배열의 범주 집합이 순서를 포함하여 동일해야 합니다. 또한 순서형 categorical형 배열은 항상 보호됩니다. 따라서 값을 순서형 categorical형 배열에 할당할 때 값은 기존 범주 중 하나에 속해야 합니다. 자세한 내용은 보호된 categorical형 배열을 사용하기 항목을 참조하십시오.

참고 항목

| | |

관련 예제

세부 정보