主要内容

reordercats

分类配列のカテゴリの並べ替え

説明

B = reordercats(一个は,分类配列一个のカテゴリを英数字順に並べ替えます。

カテゴリの順序は,関数总结柱状图などで使用されます。分类配列が順序配列である場合,カテゴリの順序はそれらの数学的な順序を定義します。最初に指定されるカテゴリは最小で,最後に指定されるカテゴリは最大になります。

B = reordercats(一个里neworderは,里neworderで指定された順序でカテゴリを並べ替えます。

すべて折りたたむ

2 .のcategorical配列XおよびYを作成します。

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

Xは5行1列の分类配列です。Xのカテゴリは,次の配列から並べ替えられた一意の値です。{“蚁族”、“猫”、“青蛙”}

Yは4行1列の分类配列です。Yのカテゴリは,次の配列から並べ替えられた一意の値です。{‘熊’、‘鹿’、‘鹰’}

XYを1の一个に連結します。

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の新しいカテゴリ順序。字符串配列、文字ベクトルの cell 配列、数値ベクトル、または模式配列として指定します。里neworder类别(A)の置換でなければなりません。

ヒント

  • 分类配列Bを順序分类配列に変換するには,B = categorical(B,'Ordinal',true)を使用します。カテゴリの順序はB =分类的;valueset“顺序”,真的)で指定できます。この場合,valuesetの値の順序でカテゴリ順が定義されます。

拡張機能

バ,ジョン履歴

R2013bで導入