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 이름-값 인수와 함께 categorical 함수를 사용하여 순서형 categorical형 배열을 생성하는 방법을 보여줍니다.

string형 배열에서 생성되는 순서형 categorical형 배열

순서형 categorical형 배열을 만듭니다. 배열을 순서형 배열로 만들려면 Ordinal 이름-값 인수를 true로 설정하십시오.

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  

정수에서 순서형 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형 배열을 비순서형에서 순서형으로 변환

순서형 categorical형 배열을 비순서형 배열로 변환하려면 Ordinal 이름-값 인수 없이 categorical 함수를 사용합니다.

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

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

isordinal(sizes3)
ans = logical
   0

sizes3을 순서형 categorical형 배열로 변환합니다.

sizes3 = categorical(sizes3,Ordinal=true);
isordinal(sizes3)
ans = logical
   1

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

순서형 categorical형 배열 사용하기

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

참고 항목

| | |

관련 예제

세부 정보