Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

mergecats

合并分类数组中的类别

说明

示例

B = mergecats(A,oldcats)A 中的两个或更多类别合并成第一个类别 oldcats(1)Aoldcats 的所有值将变成 B 中的 oldcats(1)

示例

B = mergecats(A,oldcats,newcat)oldcats 合并成一个新类别 newcatAoldcats 的所有值将变成 B 中的 newcat

示例

全部折叠

创建包含各种颜色的分类数组。

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' }

这三种类别按字母顺序排序。

将类别 redpink 合并成类别 red。先指定 oldcats 中的 red,以将其用作合并类别。

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

mergecatsA(3) 中的值 pink 替换成 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'}

这五种类别按字母顺序排序。

将类别 beltshoes 合并成名为 other 的新类别。

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

other 将替换 beltshoes 的所有实例。

显示 B 的类别。

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

B 包含四个类别,且不再按字母顺序排序。原来的 belt 改示为 other

创建一个有序分类数组。

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

考虑将所有 fairpoor 值变成 bad。由于 A 是有序数组,因此,要合并的类别必须具有连续性。

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

bad 将替换 fairpoor 的所有实例。

显示 B 的类别。

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

B 包含两个采用数学排序法排序的类别:bad < good

输入参数

全部折叠

分类数组,指定为向量、矩阵或多维数组。

要合并的类别,指定为字符向量元胞数组或字符串数组。如果 A 是有序数组,则要合并的类别必须具有连续性。

新类别,指定为字符向量或字符串标量。

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

在 R2013b 中推出