exponenta event banner

mergecats

Объединить категории в категориальном массиве

Описание

пример

B = mergecats(A,oldcats) объединяет две или более категории в A в первую категорию, oldcats(1). Любые значения в A от oldcats стать oldcats(1) в B.

пример

B = mergecats(A,oldcats,newcat) слияния oldcats в одну новую категорию, newcat. Любые значения в A от oldcats стать newcat в B.

Примеры

свернуть все

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

A = categorical({'red';'blue';'pink';'red';'blue';'red'})
A = 6x1 categorical
     red 
     blue 
     pink 
     red 
     blue 
     red 

A является категориальным массивом 6 на 1.

Отображение категорий A.

categories(A)
ans = 3x1 cell
    {'blue'}
    {'pink'}
    {'red' }

Эти три категории расположены в алфавитном порядке.

Объединение категорий red и pink в категорию red. Определить red первый в oldcats для использования в качестве объединенной категории.

oldcats = {'red','pink'};
B = mergecats(A,oldcats)
B = 6x1 categorical
     red 
     blue 
     red 
     red 
     blue 
     red 

mergecats заменяет значение pink от A(3) с red.

Отображение категорий B.

categories(B)
ans = 2x1 cell
    {'blue'}
    {'red' }

B имеет две категории вместо трех.

Создайте категориальный массив, содержащий различные элементы.

A = categorical({'shirt' 'pants'; 'shoes' 'shirt'; 'dress' 'belt'})
A = 3x2 categorical
     shirt      pants 
     shoes      shirt 
     dress      belt  

Отображение категорий A.

categories(A)
ans = 5x1 cell
    {'belt' }
    {'dress'}
    {'pants'}
    {'shirt'}
    {'shoes'}

Пять категорий расположены в алфавитном порядке.

Объединение категорий belt и shoes в новую категорию с именем other.

B = mergecats(A,{'belt' 'shoes'},'other')
B = 3x2 categorical
     shirt      pants 
     other      shirt 
     dress      other 

Стоимость other заменяет все экземпляры belt и shoes.

Отображение категорий B.

categories(B)
ans = 4x1 cell
    {'other'}
    {'dress'}
    {'pants'}
    {'shirt'}

B имеет четыре категории, и порядок больше не является алфавитным. other появляется вместо belt.

Создайте порядковый категориальный массив.

A = categorical([1 2 3 2 1],1:3,{'poor','fair','good'},'Ordinal',true)
A = 1x5 categorical
     poor      fair      good      fair      poor 

Отображение категорий A.

categories(A)
ans = 3x1 cell
    {'poor'}
    {'fair'}
    {'good'}

С тех пор A порядковый номер, категории имеют математический порядок poor < fair < good.

Рассмотрим все fair или poor значения должны быть bad. С тех пор A порядковый номер, категории для объединения должны быть последовательными.

B = mergecats(A,{'fair' 'poor'},'bad')
B = 1x5 categorical
     bad      bad      good      bad      bad 

Стоимость bad заменяет все экземпляры fair и poor.

Отображение категорий B.

categories(B)
ans = 2x1 cell
    {'bad' }
    {'good'}

B имеет две категории с математическим упорядочением: bad < good.

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

свернуть все

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

Категории для объединения, заданные как массив ячеек из символьных векторов или строковый массив. Если A порядковый номер, затем категории для объединения должны быть последовательными.

Новая категория, заданная как вектор символов или скаляр строки.

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

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

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