Main Content

countcats

categorical형 배열의 요소가 범주별로 나타나는 개수 세기

설명

예제

B = countcats(A)는 categorical형 배열 A에서 각 범주에 해당하는 요소 개수를 반환합니다.

  • A가 벡터인 경우 countcats는 각 범주에 해당하는 요소가 몇 개인지 반환합니다.

  • A가 행렬인 경우 countcatsA의 열을 벡터로 취급하여 A의 각 열에 대해 범주 개수를 반환합니다.

  • A가 다차원 배열인 경우 countcats는 크기가 1이 아닌 첫 번째 배열 차원을 따라 동작을 수행합니다.

범주 이름과 각 범주의 요소 수를 모두 표시하는 categorical형 배열의 요약을 표시하려면 summary 함수를 사용합니다.

예제

B = countcats(A,dim)은 차원 dim을 따라 범주 개수를 반환합니다.

예를 들어, countcats(A,2)를 사용하면 categorical형 배열의 각 행에 대해 범주 개수를 반환할 수 있습니다.

예제

모두 축소

1×5 categorical형 벡터를 만듭니다.

A = categorical({'plane' 'car' 'train' 'car' 'plane'})
A = 1x5 categorical
     plane      car      train      car      plane 

A에는 3개의 범주가 있습니다. 범주와 그 순서를 나열하려면 categories 함수를 사용하십시오. A의 모든 요소는 categories 호출 시 나열되는 범주 중 하나에 속합니다.

categories(A)
ans = 3x1 cell
    {'car'  }
    {'plane'}
    {'train'}

A의 각 범주에 해당하는 요소가 몇 개인지 구합니다.

B = countcats(A)
B = 1×3

     2     2     1

B의 첫 번째 요소는 A의 첫 번째 범주(car)에 대응합니다. B의 두 번째 요소는 A의 두 번째 범주(plane)에 대응합니다. B의 세 번째 요소는 A의 세 번째 범주(train)에 대응합니다.

A는 행 벡터이므로 countcats는 행 벡터를 반환합니다.

숫자형 배열에서 3×2 categorical형 배열 A를 만듭니다.

valueset = 1:3;
catnames = {'red' 'green' 'blue'};

A = categorical([1 3; 2 1; 3 1],valueset,catnames)
A = 3x2 categorical
     red        blue 
     green      red  
     blue       red  

A에는 red, green, blue의 3개 범주가 있습니다.

A에서 각 열의 범주 개수를 구합니다.

B = countcats(A)
B = 3×2

     1     2
     1     0
     1     1

B의 첫 번째 행은 A의 첫 번째 범주에 대응합니다. 값 redA의 첫 번째 열에 한 번 나타나고 두 번째 열에 두 번 나타납니다.

B의 두 번째 행은 A의 두 번째 범주에 대응합니다. 값 greenA의 첫 번째 열에 한 번 나타나고 두 번째 열에는 나타나지 않습니다.

B의 세 번째 행은 A의 세 번째 범주에 대응합니다. 값 blueA의 첫 번째 열과 두 번째 열에 한 번씩 나타납니다.

숫자형 배열에서 3×2 categorical형 배열 A를 만듭니다.

valueset = 1:3;
catnames = {'red' 'green' 'blue'};

A = categorical([1 3; 2 1; 3 1],valueset,catnames)
A = 3x2 categorical
     red        blue 
     green      red  
     blue       red  

A에는 red, green, blue의 3개 범주가 있습니다.

A의 두 번째 차원을 따라 범주 개수를 구합니다.

B = countcats(A,2)
B = 3×3

     1     0     1
     1     1     0
     1     0     1

B의 첫 번째 열은 A의 첫 번째 범주에 대응합니다. 값 redA의 첫 번째 행과 두 번째 행 그리고 세 번째 행에 한 번씩 나타납니다.

B의 두 번째 열은 A의 두 번째 범주에 대응합니다. 값 green은 단 하나의 요소에만 나타납니다. 해당 값은 A의 두 번째 행에 나타납니다.

B의 세 번째 열은 A의 세 번째 범주에 대응합니다. 값 blueA의 첫 번째 행과 세 번째 행에 한 번씩 나타납니다.

숫자형 배열에서 6×1 categorical형 배열 A를 만듭니다.

valueset = 1:3;
catnames = {'red' 'green' 'blue'};

A = categorical([1;3;2;1;3;1],valueset,catnames)
A = 6x1 categorical
     red 
     blue 
     green 
     red 
     blue 
     red 

blue 범주를 제거합니다.

A = removecats(A,'blue')
A = 6x1 categorical
     red 
     <undefined> 
     green 
     red 
     <undefined> 
     red 

A에는 redgreen의 두 범주가 있습니다. blue 범주에 속했던 A의 요소가 이제는 정의되지 않은 요소가 됩니다.

A의 각 범주에 해당하는 요소가 몇 개인지 구합니다.

B = countcats(A)
B = 2×1

     3
     1

B의 첫 번째 요소는 A의 첫 번째 범주에 대응합니다. 값 redA에 세 번 나타납니다.

B의 두 번째 요소는 A의 두 번째 범주에 대응합니다. 값 greenA에 한 번 나타납니다.

countcats는 정의되지 않은 요소에 대한 어떤 정보도 반환하지 않습니다.

summary 함수를 사용하면 A의 각 범주의 요소 개수뿐만 아니라 정의되지 않은 요소의 개수까지 표시합니다.

summary(A)
     red              3 
     green            1 
     <undefined>      2 

입력 인수

모두 축소

categorical형 배열로, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다.

연산을 수행할 차원으로, 양의 정수 스칼라로 지정됩니다. 차원을 지정하지 않을 경우 디폴트 값은 크기가 1보다 큰 첫 번째 배열 차원이 됩니다.

2차원 categorical형 배열 A가 있다고 가정하겠습니다.

dim = 1인 경우 countcats(A,1)A의 각 열에 대해 범주 개수를 반환합니다.

dim = 2인 경우 countcats(A,2)A의 각 행에 대한 범주 개수를 반환합니다.

dimndims(A)보다 큰 경우 countcats(A)는 각 범주에 대해 A와 크기가 같은 배열을 반환합니다. countcats는 요소가 해당 범주에 속하면 1을, 그렇지 않으면 0을 반환합니다.

  • categorical형 배열 A에서 정의되지 않은 요소의 개수를 구하려면 summary 또는 isundefined를 사용해야 합니다.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2013b에 개발됨