reordercats

在类别数组中重新排序类别

描述

例子

B = reordercats (一个重新排序类别数组中的类别,一个,以字母数字顺序排列。

诸如此类的函数使用类别的顺序总结柱状图.如果类别数组是有序的,则类别的顺序定义了它们的数学顺序。指定的第一个类别最小,最后一个类别最大。

例子

B = reordercats (一个里neworder按指定的顺序放置类别里neworder

例子

全部折叠

创建两个分类数组,XY

X =分类({“青蛙”“猫”“猫”“蚁族”“青蛙”})
X =5 x1分类青蛙猫猫蚂蚁青蛙
Y =分类({“鹿”“熊”“鹰”“鹿”})
Y =4 x1分类鹿、熊、鹰、鹿

X是一个5乘1的类别数组。的类别X是数组中排序后的唯一值:{“蚁族”、“猫”、“青蛙”}

Y是一个4乘1的类别数组。的类别Y是数组中排序后的唯一值:{‘熊’、‘鹿’、‘鹰’}

连接XY放入一个类别数组中,一个

= (X, Y)
一个=9 x1分类青蛙猫猫蚂蚁青蛙鹿熊鹰鹿

vertcat的值Y到从X

列出分类数组的类别,一个

acats =类别(A)
acats =6 x1细胞{“蚂蚁”}{‘猫’}{‘青蛙’}{‘熊’}{‘鹿’}{‘鹰’}

vertcat的类别Y从类别X.的类别一个按字母顺序排列的。

重新排序的类别一个字母顺序排列。

B = reordercats (A)
B =9 x1分类青蛙猫猫蚂蚁青蛙鹿熊鹰鹿

输出的分类数组,B,具有与输入类别数组相同顺序的相同元素,一个

列出分类数组的类别,B

bcats =类别(B)
bcats =6 x1细胞{“蚂蚁”}{‘熊’}{‘猫’}{‘鹿’}{‘鹰’}{‘青蛙’}

的类别B按字母顺序排列。

创建一个包含各种项目颜色的分类数组。

A =分类({“红色”“绿色”“蓝”“红色”“绿色”“红色”“蓝”“蓝”})
一个=8 x1分类红绿蓝红绿红蓝蓝

一个是一个8乘1的类别数组。

显示类别一个

类别(A)
ans =3 x1细胞{“蓝”}{“绿”}{“红”}

的类别一个按字母顺序排列,没有数学意义。

重新排序类别以匹配常用的颜色顺序。

B = reordercats (A, {“红色”“绿色”“蓝”})
B =8 x1分类红绿蓝红绿红蓝蓝

B包含相同的值一个

显示类别B

类别(B)
ans =3 x1细胞{“红”}{“绿”}{“蓝”}

B不是序数和范畴的顺序没有数学意义。虽然类别是按色谱的顺序出现的,但关系操作,如大于和小于,没有意义。

创建一个有序分类数组,一个,包括运输方式。根据旅行的平均价格订购类别。

A =分类({“平面”“汽车”“火车”“汽车”“平面”“汽车”},...“汽车”“火车”“平面”},“顺序”,真正的)
一个=6 x1分类飞机汽车火车汽车飞机汽车

一个是一个6乘1的序数分类数组。

显示类别一个

类别(A)
ans =3 x1细胞{'car'} {'train'} {'plane'}

一个顺序,汽车<火车<飞机

重新排序类别,以反映火车旅行成本的下降。

B = reordercats (A, {“火车”“汽车”“平面”})
B =6 x1分类飞机汽车火车汽车飞机汽车

B包含相同的值一个

显示类别B

类别(B)
ans =3 x1细胞{'train'} {'car'} {'plane'}

现在是分类的数学排序火车<汽车<飞机.关系操作的结果,最小值,马克斯反映新的类别排序。

创建一个分类数组,一个,包括运输方式。

A =分类({“平面”“汽车”“火车”“汽车”“汽车”“平面”“汽车”})
一个=7 x1分类飞机汽车火车汽车飞机汽车

显示类别一个

类别(A)
ans =3 x1细胞{'car'} {'plane'} {'train'}

将类别按最少出现到最频繁出现的顺序重新排序一个

B = countcats(一个);[C里neworder] = (B);里neworder
里neworder =3×13 2 1
D = reordercats(里neworder);类别(D)
ans =3 x1细胞{'train'} {'plane'} {'car'}

因为countcats统计每个类别出现的次数,里neworder描述如何对类别(而不是元素)重新排序一个

输入参数

全部折叠

分类数组,指定为向量、矩阵或多维数组。如果一个是一个有序类别数组,一个重新排序的类别改变了数学意义。因此,关系操作符(如greater than和less than)可能返回不同的结果。

订购新类别B,指定为字符向量、字符串数组或数字向量的单元格数组。里neworder一定是排列类别(A)

提示

  • 要转换分类数组,B,转换为序数分类数组,则使用B =分类(B,“顺序”,真的).您可以指定类别的顺序直言(B, B =valueset“顺序”,真的),其中值的顺序为valueset定义类别顺序。

扩展功能

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

介绍了R2013b