文档

reordercats

对类别数组中的类别重新排序

描述

例子

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

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

例子

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

例子

全部折叠

创建两个分类数组,X而且Y

X =绝对的({“青蛙”“猫”“猫”“蚁族”“青蛙”})
X =5x1分类数组青蛙猫猫蚂蚁青蛙
Y = categorical({“鹿”“熊”“鹰”“鹿”})
Y =4x1分类数组鹿熊鹰鹿

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

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

连接X而且Y变成一个单一的分类数组,一个

A = [x; y]
一个=9x1分类数组青蛙猫猫蚂蚁青蛙鹿熊鹰鹿

vertcat附加的值Y到价值观X

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

acats =类别(A)
acats =6x1单元阵列{“蚂蚁”}{‘猫’}{‘青蛙’}{‘熊’}{‘鹿’}{‘鹰’}

vertcat的类别YX.的类别一个按字母顺序排列。

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

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

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

列出分类数组的类别,B

bcats =类别(B)
bcats =6x1单元阵列{“蚂蚁”}{‘熊’}{‘猫’}{‘鹿’}{‘鹰’}{‘青蛙’}

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

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

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

一个是一个8 × 1的分类数组。

显示的类别一个

类别(A)
ans =3x1单元阵列{'蓝'}{'绿'}{'红'}

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

重新对类别进行排序,以匹配颜色通常使用的顺序。

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

B包含与。相同的值一个

显示的类别B

类别(B)
ans =3x1单元阵列{'红'}{'绿'}{'蓝'}

B不是序数的,类别的顺序没有数学意义。尽管类别是按照颜色光谱的顺序出现的,但是关系操作(如大于和小于)没有任何意义。

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

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

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

显示的类别一个

类别(A)
ans =3x1单元阵列{'car'} {'train'} {'plane'}

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

重新排列类别,以反映火车旅行费用的下降。

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

B包含与。相同的值一个

显示的类别B

类别(B)
ans =3x1单元阵列{'火车'}{'汽车'}{'飞机'}

分类的数学顺序是火车<汽车<飞机.关系运算的结果,最小值,马克斯反映新的分类顺序。

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

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

显示的类别一个

类别(A)
ans =3x1单元阵列{'car'} {'plane'} {'train'}

中从最少到最频繁出现的类别重新排序一个

B = countcats(A);[C,neworder] = sort(B);里neworder
里neworder =3×13 2 1
D = reordercats(A,neworder);类别(D)
ans =3x1单元阵列{'火车'}{'飞机'}{'汽车'}

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

输入参数

全部折叠

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

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

提示

  • 要转换分类数组,B,到一个序数分类数组,使用B = categorical(B,'Ordinal',true).可以指定类别的顺序B = categorical(绝对的);valueset“顺序”,真的),其中值的顺序valueset定义类别顺序。

扩展功能

在R2013b中介绍