reordercats
重新排序类别分类
数组
描述
例子
按字母顺序排列非序数分类数组类别
创建两个分类数组,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
,到一个序数分类数组,使用B = categorical(B,'Ordinal',true)
.可以指定类别的顺序B =分类的;
中值的顺序valueset
“顺序”,真的)
定义类别顺序。valueset
扩展功能
高大的数组
使用行数超过内存容量的数组进行计算。
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
线程环境
使用MATLAB®在后台运行代码backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.
这个函数完全支持基于线程的环境。万博1manbetx有关更多信息,请参见在线程环境中运行MATLAB函数.
分布式阵列
使用并行计算工具箱™跨集群的组合内存对大型数组进行分区。
该函数完全支持分布式数组。万博1manbetx有关更多信息,请参见运行MATLAB函数与分布式阵列(并行计算工具箱).
版本历史
在R2013b中引入
Matlab명령
다음matlab명령에해당하는링크를클릭했습니다。
명령을실행하려면matlab명령창에입력하십시오。웹브라우저는matlab명령을지원하지않습니다。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。