순서형 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
sizes
와 sizes2
를 비교합니다.
isequal(sizes,sizes2)
ans = logical
1
sizes
와 sizes2
는 동일한 범주 순서를 가지는 동일한 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
은 이제 sizes
및 sizes2
와 동일한 3×2 순서형 categorical형 배열이 됩니다.
순서형 categorical형 배열 사용하기
두 개의 categorical형 배열을 결합하거나 비교하려면 두 입력 배열의 범주 집합이 순서를 포함하여 동일해야 합니다. 또한 순서형 categorical형 배열은 항상 보호됩니다. 따라서 값을 순서형 categorical형 배열에 할당할 때 값은 기존 범주 중 하나에 속해야 합니다. 자세한 내용은 보호된 categorical형 배열을 사용하기 항목을 참조하십시오.
참고 항목
categorical
| categories
| isordinal
| isequal
관련 예제
- categorical형 배열 생성하기
- 테이블 변수의 텍스트를 categorical형으로 변환하기
- categorical형 배열 요소 비교하기
- categorical형 배열로 데이터에 액세스하기