reordercats
对类别数组中的类别重新排序
描述
例子
按字母顺序排列非序数分类数组的类别
创建两个分类数组,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
的类别Y
从X
.的类别一个
是不按字母顺序排列。
的类别重新排序一个
按字母顺序排列。
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
描述如何对类别(而不是元素)重新排序一个
.
输入参数
一个
- - - - - -分类数组
向量|矩阵|多维数组
分类数组,指定为向量、矩阵或多维数组。如果一个
是一个序数范畴数组,类别的重新排序改变了数学意义。因此,关系操作符(如大于和小于)可能返回不同的结果。
里neworder
- - - - - -新类别订单B
字符向量的单元格数组|字符串数组|数值向量
新类别订单B
,指定为字符向量的单元格数组、字符串数组或数字向量。里neworder
一定是的排列类别(A)
.
提示
要转换分类数组,
B
,到一个序数分类数组,使用B = categorical(B,'Ordinal',true)
.可以指定类别的顺序B = categorical(绝对的);
,其中值的顺序valueset
“顺序”,真的)
定义类别顺序。valueset
扩展功能
高大的数组
使用行数超过内存容量的数组进行计算。
这个函数完全支持高数组。金宝app有关更多信息,请参见高大的数组.
分布式阵列
使用并行计算工具箱™跨集群的组合内存分区大型数组。
这个函数完全支持分布式数组。金宝app有关更多信息,请参见运行MATLAB函数与分布式数组(并行计算工具箱)。
在R2013b中介绍
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。