索引和搜索使用名义和有序阵列

注意

公称序数词不推荐组数据类型。代表有序和无序的离散,非数值数据,使用分类数组(MATLAB)数据类型来代替。

分类指数

它通过它的类别,或组常常是有用的索引和搜索数据。如果存储的类别作为标记字符向量的单元阵列内或烧焦阵列,它可以是难以索引和搜索的类别。当使用名义或有序阵列,您可以轻松地:

  • 索引元件从特定类别。对于这两种名义和有序阵列,可以使用逻辑运算符==〜=索引是在或不在,特定类别的意见。对于有序阵列,其中有一个编码的顺序,你也可以使用不平等,>> =<<=,以找到在类别的上方或下方的特定类别的观察。

  • 搜索类别的成员。除了逻辑运算符==, 您可以使用ismember要查找一个特定群体的意见。

  • 查找不在一个定义的类别元素。名义和有序阵列指​​示哪些元素不通过属于一个定义的类别<未定义>。您可以使用isundefined找到失踪的观测类别。

  • 删除的意见,即在一个特定的类别。您可以使用逻辑运算符将包含或排除特定类别的意见。即使你从类别中删除所有的观测,分类水平仍然定义,除非你使用它删除droplevels

常见的索引和搜索方法

这个例子显示了几种常见的索引和搜索方法。

加载样本数据。

加载carsmall;

转换烧焦阵列,起源,标称阵列。此变量包含原产地,或制造国,每个样品车。

原点=额定(原点);

搜索类别中的观察。确定是否有在加拿大被制造的样品中的任何汽车。

任何(产地=='加拿大'
ANS =合乎逻辑0

在加拿大有制造无样品车。

列出是严重的国家起源

getlevels(产地)
ANS =1X6标称法国德国意大利日本瑞典美国

指数的元素是在一个特定的类别。画出加速度测量的柱状图在美国制造的汽车

数字();直方图(加速(产地=='美国'))标题(“美国汽车制造的加速”

删除的意见,即在一个特定的类别。删除由瑞典制造的所有汽车起源

原点=原点(产地〜='瑞典');任何(ismember(产地,'瑞典'))
ANS =合乎逻辑0

瑞典制造的汽车从删除起源瑞典仍然是一个水平起源

getlevels(产地)
ANS =1X6标称法国德国意大利日本瑞典美国

去掉瑞典从水平起源

原点= droplevels(产地,'瑞典');getlevels(产地)
ANS =1×5标称法国德国意大利日本美国

检查的意见不是在定义的类别。获得在法国工厂生产的汽车的指数。

IX =查找(产地=='法国'
IX =4×111 27 39 61

有来自法国的四款车。去掉法国从水平起源

原点= droplevels(产地,'法国');

这将返回表明您要删除已在其元素的类别级别警告。这些观察结果不再处于定义的类别,指示由未定义

原产地(九)
ANS =4X1标称<未定义> <未定义> <未定义> <未定义>

您可以使用isundefined以搜索与一个未定义的类别观察。

找到(isundefined(产地))
ANS =4×111 27 39 61

这些指数对应于人在类别中的观察法国之前,该类别从下降起源

也可以看看

||

相关的例子

更多关于