Accelerating the pace of engineering and science

# Documentation Center

• Trial Software

# countcats

Count occurrences of categorical array elements by category

## Description

example

B = countcats(A) returns the number of elements in each category of the categorical array, A.

• If A is a vector, then countcats returns the number of elements in each category.

• If A is a matrix, then countcats treats the columns of A as vectors and returns the category counts for each column of A.

• If A is a multidimensional array, then countcats acts along the first array dimension whose size does not equal 1.

example

B = countcats(A,dim) returns the category counts along dimension dim.

For example, you can return the category counts of each row in a categorical array using countcats(A,2).

## Examples

expand all

### Category Counts of Categorical Vector

Create a 1-by-5 categorical vector.

`A = categorical({'plane' 'car' 'train' 'car' 'plane'})`
```A =

plane      car      train      car      plane
```

A has three categories, car, plane, and train.

Find the number of elements in each category of A.

`B = countcats(A)`
```B =

2     2     1```

The first element in B corresponds to the first category of A, which is car. The second element in B corresponds to the second category of A, which is plane. The third element of B corresponds to the third category of A, which is train.

Since A is a row vector, countcats returns a row vector.

### Category Counts of Each Column in Array

Create a 3-by-2 categorical array, A, from a numeric array.

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

A = categorical([1 3; 2 1; 3 1],valueset,catnames)```
```A =

red        blue
green      red
blue       red
```

A has three categories, red, green, and blue.

Find the category counts of each column in A.

`B = countcats(A)`
```B =

1     2
1     0
1     1```

The first row of B corresponds to the first category of A. The value, red, occurs once in the first column of A and twice in the second column.

The second row of B corresponds to the second category of A. The value, green, occurs once in the first column of A, and it does not occur in the second column.

The third row of B corresponds to the third category of A. The value, blue, occurs once in the first column of A and once in the second column.

### Category Counts of Each Row in Array

Create a 3-by-2 categorical array, A, from a numeric array.

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

A = categorical([1 3; 2 1; 3 1],valueset,catnames)```
```A =

red        blue
green      red
blue       red
```

A has three categories, red, green, and blue.

Find the category counts of A along the second dimension.

`B = countcats(A,2)`
```B =

1     0     1
1     1     0
1     0     1```

The first column of B corresponds to the first category of A. The value, red, occurs once in the first row of A, once in the second row, and once in the third row.

The second column of B corresponds to the second category of A. The value, green, occurs in only one element. It occurs in the second row of A.

The third column of B corresponds to the third category of A. The value, blue, occurs once in the first row of A and once in the third row.

### Category Counts of Array Containing Undefined Elements

Create a 6-by-1 categorical array, A, from a numeric array.

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

A = categorical([1;3;2;1;3;1],valueset,catnames)```
```A =

red
blue
green
red
blue
red ```

Remove the blue category.

`A = removecats(A,'blue')`
```A =

red
<undefined>
green
red
<undefined>
red ```

A has two categories, red and green. Elements of A that were from the blue category are now undefined.

Find the number of elements in each category of A.

`B = countcats(A)`
```B =

3
1```

The first element in B corresponds to the first category of A. The value, red, occurs three times in A.

The second element in B corresponds to the second category of A. The value, green, occurs once in A.

countcats does not return any information on undefined elements.

Use the summary function to view the number of undefined elements in addition to the number of elements in each category of A.

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

## Input Arguments

expand all

### A — Categorical arrayvector | matrix | multidimensional array

Categorical array, specified as a vector, matrix, or multidimensional array.

### dim — Dimension to operate alongpositive integer scalar

Dimension to operate along, specified as a positive integer scalar. If no value is specified, the default is the first array dimension whose size does not equal 1.

Consider a two-dimensional categorical array, A.

If dim = 1, then countcats(A,1) returns the category counts for each column of A.

If dim = 2, then countcats(A,2) returns the category counts of each row of A.

If dim is greater than ndims(A), then countcats(A) returns an array the same size as A for each category. countcats returns 1 for elements in the corresponding category and 0 otherwise.