主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

順序分类配列

カテゴリの順序

分类は,離散カテゴリの有限集合からの値をもつデータを格納するためのデータ型で,自然な順序が付いていることがあります。すべての直言配列でカテゴリの順序を指定および変更することができます。ただし,“順序”绝对配列は,カテゴリに数学的な順序が付けられているものとしてのみ取り扱うことができます。関数最小值马克斯または関係演算(“より大きい”や”より小さい”など)を利用する場合は,順序分类配列を使用してください。

ペットのカテゴリの離散集合{‘狗’‘猫’‘鸟’}には意味のある数学的な順序は付けられていません。任意のカテゴリ順序を自由に使用することができ,それによって関連付けられているデータの意味が変更されることはありません。たとえば,宠物=分类({‘鸟’,‘猫’,‘狗’,‘狗’,‘猫’})で作成された直言配列では,カテゴリはアルファベット順で{‘鸟’‘猫’‘狗’}というように並べられます。カテゴリの順序を{‘狗’‘猫’‘鸟’}のように指定または変更することができ,それによってデータの意味が変更されることはありません。

“順序”绝对配列には,意味のある数学的な順序が付けられているカテゴリが含まれます。たとえば,サイズのカテゴリの離散集合{‘小’,‘中等’,‘大’}には数学的な順序小<中<大が付けられています。最初に表示されるカテゴリが最も小さく,最後に表示されるカテゴリが最も大きいものになります。順序分类配列内のカテゴリの順序は順序 categorical 配列の関係比較の結果に影響します。

順序分类配列の作成方法

この例では,関数分类に名前と値のペアの引数“顺序”,真的を指定して順序分类配列を作成する方法を示します。

文字ベクトルの细胞配列からの順序分类配列

順序分类配列大小を文字ベクトルの细胞配列一个から作成します。一意の値のベクトルとして指定されるvaluesetを使用して,大小のカテゴリを定義します。

一个= {“媒介”“大”“小”“媒介”“大”“小”};valueset = {“小”“媒介”“大”};大小=分类(valueset,“顺序”,真正的)
大小=3 x2分类中、大号、小号、大号、小号

大小は,小<中<大である3つのカテゴリを含む3行2列の順序分类配列です。valueset内の値の順序は大小のカテゴリの順序になります。

整数からの順序分类配列

整数の配列から同等の直言配列を作成します。値12および3.を使用して,カテゴリ媒介をそれぞれ定義します。

A2 = [2 3;1 - 2;3 1];valueset = 1:3;catnames = {“小”“媒介”“大”};sizes2 =分类(A2, valueset catnames,“顺序”,真正的)
sizes2 =3 x2分类中、大号、小号、大号、小号

大小sizes2を比較します。

isequal(大小、sizes2)
ans =逻辑1

大小sizes2は,同じ順序のカテゴリをもつ同等の直言配列です。

非順序分类配列から順序分类配列への変換

非順序分类配列を文字ベクトルの细胞配列一个から作成します。

sizes3 =分类(一)
sizes3 =3 x2分类中、大号、小号、大号、小号

绝对配列が順序配列であるかどうかを判定します。

isordinal (sizes3)
ans =逻辑0

sizes3は3つのカテゴリ{“大”,“中等”,“小”}をもつ非順序分类配列です。sizes3のカテゴリは,一个からの並べ替えられた一意の値です。別のカテゴリ順序を指定するには,入力引数valuesetを使用しなければなりません。

sizes3小<中<大という順序の順序分类配列に変換します。

sizes3 =分类(sizes3, {“小”“媒介”“大”},“顺序”,真正的);

これで,sizes3大小およびsizes2と同等の3行2列の順序分类配列になりました。

順序分类配列の操作

2つの直言配列を結合または比較するには,両方の入力配列のカテゴリ集合が,順序を含め,同一でなければなりません。それだけでなく,順序分类配列は常に保護されています。そのため,値を順序分类配列に代入する場合,その値は既存のいずれかのカテゴリに属していなければなりません。詳細は,保護された直言配列の操作を参照してください。

参考

|||

関連する例

詳細