categorical형 배열 요소 비교하기
이 예제에서는 categorical형 배열에 관계 연산을 사용하는 방법을 보여줍니다.
categorical형 배열 생성하기
categorical형 배열을 만듭니다.
C = ["blue" "red" "green" "blue"; ... "blue" "green" "green" "blue"]; colors = categorical(C)
colors = 2×4 categorical
blue red green blue
blue green green blue
categorical형 배열의 범주를 나열합니다.
categories(colors)
ans = 3×1 cell
{'blue' }
{'green'}
{'red' }
요소가 동일한지 여부 확인
관계 연산자 eq
(==
)를 사용하여 colors
의 첫 번째 행과 두 번째 행을 비교합니다.
colors(1,:) == colors(2,:)
ans = 1×4 logical array
1 0 1 1
두 행 간에는 두 번째 열의 값만 다릅니다.
전체 배열을 string형과 비교하기
전체 categorical형 배열 colors
를 string형 "blue"
와 비교하여 blue
값이 있는 모든 위치를 찾습니다.
colors == "blue"
ans = 2×4 logical array
1 0 0 1
1 0 0 1
colors
에는 배열의 코너마다 하나씩 총 4개의 blue 항목이 있습니다.
순서형 categorical형 배열로 변환하기
colors
의 범주에 수학적 정렬(Mathematical Ordering)을 추가합니다. 색 스펙트럼의 순서를 나타내는 범주 순서 red < green < blue
를 지정합니다. categorical형 배열의 요소는 동일하게 유지됩니다.
colors = categorical(colors,["red" "green" "blue"],Ordinal=true)
colors = 2×4 categorical
blue red green blue
blue green green blue
colors
의 범주를 나열합니다.
categories(colors)
ans = 3×1 cell
{'red' }
{'green'}
{'blue' }
순서를 기준으로 요소 비교
colors
의 첫 번째 열의 요소가 두 번째 열의 요소보다 큰지 확인합니다.
colors(:,1) > colors(:,2)
ans = 2×1 logical array
1
1
첫 번째 열의 두 값(blue
)이 두 번째 열의 대응값(각각 red
와 green
)보다 큽니다.
colors
에서 blue
보다 작은 요소를 모두 찾습니다.
colors < "blue"
ans = 2×4 logical array
0 1 1 0
0 1 1 0
함수 lt
(<
)는 모든 green
값과 red
값의 위치를 1
로 나타냅니다.