このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
reordercats
categorical 配列内のカテゴリを並べ替える
説明
例
categorical 配列を作成すると、カテゴリは常に特定の順序で並べられます。ただし、後でカテゴリを追加すると、新しいカテゴリ セットの順序が正しくなくなる可能性があります。カテゴリを英数字順に並べるには、reordercats
関数を使用します。
たとえば、2 つの categorical 配列を連結します。次に、その結果できたカテゴリを並べ替えます。
まず、配列を作成します。
X = categorical(["Frog" "Cat" "Cat" "Ant" "Frog"])
X = 1×5 categorical
Frog Cat Cat Ant Frog
Y = categorical(["Deer" "Bear" "Eagle" "Deer"])
Y = 1×4 categorical
Deer Bear Eagle Deer
各配列のカテゴリは英数字順に並んでいます。
Xcats = categories(X)
Xcats = 3×1 cell
{'Ant' }
{'Cat' }
{'Frog'}
Ycats = categories(Y)
Ycats = 3×1 cell
{'Bear' }
{'Deer' }
{'Eagle'}
次に、X
と Y
を 1 つの categorical 配列に連結します。
A = [X Y]
A = 1×9 categorical
Frog Cat Cat Ant Frog Deer Bear Eagle Deer
カテゴリを一覧表示します。結合されたカテゴリ セットは英数字順になっていません。連結では、1 つのカテゴリ セットがもう 1 つのカテゴリ セットの末尾に追加されるだけです。
Acats = categories(A)
Acats = 6×1 cell
{'Ant' }
{'Cat' }
{'Frog' }
{'Bear' }
{'Deer' }
{'Eagle'}
カテゴリを並べ替えます。出力 categorical 配列には、入力配列と同じ要素が含まれます。
B = reordercats(A)
B = 1×9 categorical
Frog Cat Cat Ant Frog Deer Bear Eagle Deer
カテゴリを一覧表示します。今回は、結合されたカテゴリ セットが英数字順になります。
Bcats = categories(B)
Bcats = 6×1 cell
{'Ant' }
{'Bear' }
{'Cat' }
{'Deer' }
{'Eagle'}
{'Frog' }
categorical 配列を作成します。
A = categorical(["red" "green" "blue" "red" "green" "red" "blue" "blue"])
A = 1×8 categorical
red green blue red green red blue blue
そのカテゴリを表示します。英数字順に並んでいます。
categories(A)
ans = 3×1 cell
{'blue' }
{'green'}
{'red' }
カテゴリを並べ替えます。
B = reordercats(A,["red" "green" "blue"])
B = 1×8 categorical
red green blue red green red blue blue
そのカテゴリを表示します。色スペクトルで一般的に使用される RGB 順になります。
categories(B)
ans = 3×1 cell
{'red' }
{'green'}
{'blue' }
この配列は順序 categorical 配列ではないため、カテゴリの順序には数学的な意味はありません。したがって、カテゴリは色スペクトルの順序で表示されますが、> (より大きい) や< (より小さい) などの関係演算は意味をもちません。
交通手段を含む順序 categorical 配列を作成します。各交通手段の平均旅行費用に基づいてカテゴリを並べ替えます。
A = categorical(["plane" "car" "train" "car" "plane" "car"], ... ["car" "train" "plane"], ... Ordinal=true)
A = 1×6 categorical
plane car train car plane car
そのカテゴリを表示します。配列 A
は順序配列なので、car < train < plane
になります。
categories(A)
ans = 3×1 cell
{'car' }
{'train'}
{'plane'}
たとえば、カテゴリが plane
または train
である要素は、カテゴリ car
よりも大きくなります。
A(A > "car")
ans = 1×3 categorical
plane train plane
電車旅行の費用の低下を反映するようにカテゴリを並べ替えます。
B = reordercats(A,["train" "car" "plane"])
B = 1×6 categorical
plane car train car plane car
そのカテゴリを表示します。カテゴリの数学的な順序は train < car < plane
になります。
categories(B)
ans = 3×1 cell
{'train'}
{'car' }
{'plane'}
たとえば、train
は car
より大きくなくなりました。関係演算 min
と max
の結果には、新しいカテゴリ順序が反映されます。
B(B > "car")
ans = 1×2 categorical
plane plane
交通手段を含む categorical 配列を作成します。
A = categorical(["plane" "car" "train" "car" "car" "plane" "car"])
A = 1×7 categorical
plane car train car car plane car
そのカテゴリを表示します。
categories(A)
ans = 3×1 cell
{'car' }
{'plane'}
{'train'}
countcats
関数を使用して、配列内で各カテゴリが出現する回数をカウントします。
B = countcats(A)
B = 1×3
4 2 1
出現回数が最も少ないカテゴリから出現回数が最も多いカテゴリに並べる順序を作成します。その順序を数値ベクトルとして指定するには、sort
関数の 2 番目の出力を使用します。出力 neworder
は、categorical 配列の要素ではなくカテゴリを並べ替える方法を説明します。
[C,neworder] = sort(B); neworder
neworder = 1×3
3 2 1
配列での出現回数が最も少ないものから最も多いものの順にカテゴリを並べ替えます。
D = reordercats(A,neworder); categories(D)
ans = 3×1 cell
{'train'}
{'plane'}
{'car' }
categorical 配列を作成します。この配列には、"はい" と "いいえ" を表すさまざまなカテゴリがあります。
C = categorical(["Y" "Yes" "Yeah" "N" "No" "Nope"])
C = 1×6 categorical
Y Yes Yeah N No Nope
カテゴリを順番に一覧表示します。MATLAB® は文字を Unicode® として保存するため、既定ではこれらのカテゴリの並べ替え順序はアルファベット順です。
categories(C)
ans = 6×1 cell
{'N' }
{'No' }
{'Nope'}
{'Y' }
{'Yeah'}
{'Yes' }
pattern
を使用すると、複数のカテゴリ名を一致させることができます。たとえば、Y
で始まるカテゴリ名を指定するには、ワイルドカード パターンを使用できます。ワイルドカード パターンを作成するには、関数wildcardPattern
を使用します。
カテゴリを並べ替えます。並べ替え順序を変更し、Y
で始まるカテゴリが N
で始まるカテゴリより前になるようにします。
C = reordercats(C,["Y"+wildcardPattern,"N"+wildcardPattern])
C = 1×6 categorical
Y Yes Yeah N No Nope
カテゴリを新しい順序で一覧表示します。
categories(C)
ans = 6×1 cell
{'Y' }
{'Yeah'}
{'Yes' }
{'N' }
{'No' }
{'Nope'}
入力引数
ヒント
categorical 配列
B
を順序 categorical 配列に変換するには、B = categorical(B,Ordinal=true)
を使用します。カテゴリの順序はB = categorical(B,
で指定できます。この場合、valueset
,Ordinal=true)
の値の順序でカテゴリ順が定義されます。valueset
拡張機能
reordercats
関数は tall 配列を完全にサポートしています。詳細については、tall 配列を参照してください。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2013b で導入
参考
categories
| addcats
| removecats
| iscategory
| mergecats
| renamecats
| setcats
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)