主要内容

reordercats

重新排序类别分类数组

描述

例子

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

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

例子

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

例子

全部折叠

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

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

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

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

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

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

vertcat追加来自的值Y到的值X

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

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

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

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

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

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

列出分类数组的类别,B

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

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

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

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

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

显示类别一个

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

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

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

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

B包含相同的值一个

显示类别B

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

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

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

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

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

显示类别一个

类别(A)
ans =3 x1细胞{'汽车'}{'火车'}{'飞机'}

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

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

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

B包含相同的值一个

显示类别B

类别(B)
ans =3 x1细胞{'火车'}{'汽车'}{'飞机'}

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

创建一个分类数组,一个,包括交通方式。

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

显示类别一个

类别(A)
ans =3 x1细胞{'汽车'}{'飞机'}{'火车'}

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

B = countcats(A);[C,neworder] =排序(B);里neworder
里neworder =3×13 2 1
D = reordercats(A,neworder);类别(D)
ans =3 x1细胞{'火车'}{'飞机'}{'汽车'}

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

创建一个分类数组中。这个数组有许多不同的类别,代表“是”和“否”。

C =分类的([“Y”“是的”“是的”“N”“不”“不”])
C =1 x6分类Y是是是N不不

按顺序列出类别。默认情况下,这些类别的排序顺序是字母顺序,因为MATLAB®将字符存储为Unicode®。

类别(C)
ans =6 x1细胞{'N'}{'否'}{'否'}{'Y'}{'是'}{'是'}

类可以匹配多个类别名称模式.例如,指定以。开头的类别名称Y,您可以使用通配符模式。要创建通配符模式,请使用wildcardPattern函数。

重新排列类别。更改排序顺序,以便以Y放在以类别开头的类别之前N

C = reordercats(C,[“Y”+ wildcardPattern,“N”+ wildcardPattern])
C =1 x6分类Y是是是N不不

按新顺序列出类别。

类别(C)
ans =6 x1细胞{'Y'} {'Yes'} {'Yes'} {'N'} {'No'} {'Nope'}

输入参数

全部折叠

输入数组,指定为分类数组中。如果一个是序数分类数组中,类别的重新排序改变了数学意义。因此,关系操作符(如大于和小于)可能返回不同的结果。

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

提示

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

扩展功能

版本历史

在R2013b中引入