Main Content

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

removecats

从分类数组中删除类别

说明

示例

B = removecats(A) 从分类数组 A 中删除不使用的类别。输出分类数组 BA 具有相同的大小和值。但是,B 具有的类别可能较少。

示例

B = removecats(A,oldcats) 删除 oldcats 指定的类别。函数 removecats 删除类别,但不删除任何数组元素。因此,未定义其值对应于 oldcatsB 元素。

示例

全部折叠

创建一个表示四个人所属政治团体的分类数组。

A = categorical({'republican' 'democrat' 'democrat' 'republican'},...
    {'democrat' 'republican' 'independent'})
A = 1x4 categorical
     republican      democrat      democrat      republican 

A 是一个 1×4 分类数组。

汇总分类数组 A

summary(A)
     democrat      republican      independent 
     2             2               0           

A 有三个类别。democrat 在数组中出现两次,republican 在数组中出现两次,而未使用 independent

删除未使用的类别 independent

B = removecats(A)
B = 1x4 categorical
     republican      democrat      democrat      republican 

BA 的值相同。

显示 B 的类别。

categories(B)
ans = 2x1 cell
    {'democrat'  }
    {'republican'}

B 具有的类别比 A 少。

创建一个分类数组 A,其中包含交通方式。

A = categorical({'plane' 'car'; 'train' 'car'; 'plane' 'car'})
A = 3x2 categorical
     plane      car 
     train      car 
     plane      car 

A 是一个 3×2 分类数组。

显示 A 的类别。

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

A 包含三个类别:carplanetrain

删除类别 train

B = removecats(A,'train')
B = 3x2 categorical
     plane            car 
     <undefined>      car 
     plane            car 

源自类别 train 的元素现在未定义。

显示 B 的类别。

categories(B)
ans = 2x1 cell
    {'car'  }
    {'plane'}

B 具有的类别比 A 少。

输入参数

全部折叠

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

要删除的类别,指定为字符向量、字符向量元胞数组或字符串数组。默认值是 A 中的所有未使用类别。

提示

  • 对于 A 的任何未使用的类别,~ismember(categories(A),unique(A)) 返回逻辑值 true (1)。

扩展功能

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

在 R2013b 中推出