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