exponenta event banner

countcats

Количество вхождений элементов категориального массива по категориям

Описание

пример

B = countcats(A) возвращает количество элементов в каждой категории категориального массива, A.

  • Если A является вектором, то countcats возвращает количество элементов в каждой категории.

  • Если A является матрицей, то countcats обрабатывает столбцы A в виде векторов и возвращает количество категорий для каждого столбца A.

  • Если A является многомерным массивом, то countcats действует вдоль первого размера массива, размер которого не равен 1.

пример

B = countcats(A,dim) возвращает количество категорий вдоль измерения dim.

Например, можно вернуть счетчики категорий каждой строки в категориальном массиве, используя countcats(A,2).

Примеры

свернуть все

Создайте категориальный вектор 1 на 5.

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

A имеет три категории. Чтобы перечислить категории и их порядок, используйте 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», 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.

Найти количество категорий каждого столбца в A.

B = countcats(A)
B = 3×2

     1     2
     1     0
     1     1

Первая строка B соответствует первой категории A. Значение, red, происходит один раз в первом столбце A и дважды во второй колонке.

Вторая строка B соответствует второй категории A. Значение, green, происходит один раз в первом столбце A, и это происходит не во втором столбце.

Третий ряд B соответствует третьей категории A. Значение, blue, происходит один раз в первом столбце A и один раз во второй колонке.

Создайте категориальный массив «3 на 2», 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.

Найти количество категорий A вдоль второго размера.

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

     1     0     1
     1     1     0
     1     0     1

Первый столбец B соответствует первой категории A. Значение, red, происходит один раз в первой строке A, один раз во втором ряду и один раз в третьем ряду.

Второй столбец B соответствует второй категории A. Значение, green, встречается только в одном элементе. Встречается во втором ряду A.

Третий столбец B соответствует третьей категории A. Значение, blue, происходит один раз в первой строке A и один раз в третьем ряду.

Создайте категориальный массив «6 на 1», 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 имеет две категории, red и green. Элементы A которые были из blue категории теперь не определены.

Найти количество элементов в каждой категории A.

B = countcats(A)
B = 2×1

     3
     1

Первый элемент в B соответствует первой категории A. Значение, red, встречается три раза в A.

Второй элемент в B соответствует второй категории A. Значение, green, возникает один раз в A.

countcats не возвращает информацию о неопределенных элементах.

Используйте summary функция для просмотра числа неопределенных элементов в дополнение к количеству элементов в каждой категории A.

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

Входные аргументы

свернуть все

Категориальный массив, заданный как вектор, матрица или многомерный массив.

Размерность для работы, заданная как целочисленный скаляр. Если значение не указано, то по умолчанию используется первый размер массива, размер которого не равен 1.

Рассмотрим двухмерный категориальный массив, A.

Если dim = 1, то countcats(A,1) возвращает количество категорий для каждого столбца A.

Если dim = 2, то countcats(A,2) возвращает счетчики категорий каждой строки A.

Если dim больше, чем ndims(A), то countcats(A) возвращает массив того же размера, что и A для каждой категории. countcats прибыль 1 для элементов в соответствующей категории и 0 в противном случае.

Совет

  • Чтобы найти число неопределенных элементов в категориальном массиве, A, вы должны использовать summary или isundefined.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2013b