主要内容

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

分类

カテゴリに割り当てられた値を含む配列

説明

分类は,地中海などの離散カテゴリの有限集合に値を割り当てるデータ型です。これらのカテゴリには高> Med >低などの数学的な順序を指定することができますが,必須ではありません。绝对配列は,非数値データを効率的に格納し操作するのに適しており、値に付けられたわかりやすい名前も維持されます。一般的に、categorical 配列は table の行のグループを指定するために使用します。

作成

説明

B =分类(一个は,配列一个から直言配列を作成します。Bのカテゴリは,一个からの並べ替えられた一意の値です。

B =分类(一个valuesetは,valuesetの値ごとに1つのカテゴリを作成します。Bのカテゴリは,valuesetの値と同じ順序になります。

valuesetを使用して,一个には存在しない値のカテゴリを含めることができます。逆に,valuesetに存在しない値が一个に含まれている場合は,Bの対応する要素が定義されません。

B =分类(一个valuesetcatnamesは,valuesetのカテゴリ値とcatnamesの名前をマッチングさせてBのカテゴリに名前を付けます。

B =分类(一个___名称,值は1つ以上の名称,值のペアの引数で指定された追加オプションを使用して,绝对配列を作成します。前述の構文のいずれかの入力引数を含めることができます。

たとえば,カテゴリが数学的な順序になることを示すには,“顺序”,真的を指定します。

入力引数

すべて展開する

入力配列。数値配列、合理的配列、绝对配列、datetime配列、时间配列、字符串配列、または文字ベクトルの cell 配列として指定します。

分类は,弦または文字ベクトルである入力値から先頭のスペースと末尾のスペースを削除します。

一个に欠損値が含まれる場合,Bの対応する要素は定義されず,<定义>として表示されます。関数分类は,次の値を未定義の直言値に変換します。

  • 数値配列および时间配列内の

  • 字符串配列内の欠損字符串(< >失踪)または空の字符串(""

  • 文字ベクトルの细胞配列内にある空の文字ベクトル(''

  • datetime配列内のNaT

  • 绝对配列内の未定義値(<定义>

Bには未定義値のカテゴリが含まれません。欠損値または未定義値の明示的なカテゴリを作成するには,catnamesに目的のカテゴリ名を含め,さらに欠損値を対応する値としてvaluesetに含めなければなりません。

また,一个は次のクラスメソッドをもつオブジェクトの配列にすることもできます。

  • 独特的

  • 情商

カテゴリ。一意の値のベクトルとして指定します。valuesetのデータ型と一个のデータ型は同じでなければなりません。ただし,一个が字符串配列の場合を除きます。その場合,valuesetは字符串配列または文字ベクトルの细胞配列のいずれかにすることができます。

分类は,弦または文字ベクトルであるvaluesetの要素から先頭のスペースと末尾のスペースを削除します。

カテゴリ名。文字ベクトルの细胞配列,または字符串配列として指定します。入力引数catnamesを指定しない場合,分类valueset内の値をカテゴリ名として使用します。

一个の複数の異なる値をBの1つのカテゴリにマージするには,それらの値に対応する重複した名前を含めます。

名前と値のペアの引数

オプションの名称,值の引数ペアをコンマ区切りで指定します。的名字は引数名で,价值は対応する値です。的名字は引用符で囲まなければなりません。Name1, Value1,…,的家のように,複数の名前と値のペアの引数を任意の順序で指定できます。

例:“顺序”,真的は,カテゴリが数学的な順序になることを指定します。

順序変数インジケーター。“顺序”と,0)または真正的1)のいずれかで構成されるコンマ区切りのペアとして指定します。

0

分类は,順序がない直言配列を作成します。これは既定の動作です。

Bのカテゴリは数学的な順序ではありません。したがって,B内の値は等価性についてのみ比較できます。他の関係演算子を使用した値の比較はできません。

真正的1

分类は,順序分类配列を作成します。

Bのカテゴリには数学的な順序があるため,最初に指定されるカテゴリは最小で,最後のカテゴリは最大になります。Bの値は,値の等価性を比較するだけでなく,<(より小さい)や>(より大きい)などの関係演算子を使用して比較できます。関数最小值および马克斯を順序分类配列に対して使用することもできます。

詳細については,順序分类配列を参照してください。

保護されたカテゴリインジケーター。“保护”と,0)または真正的1)のいずれかで構成されるコンマ区切りのペアとして指定します。順序分类配列のカテゴリは常に保護されます。“顺序”,真的を指定したときの既定値は真正的です。それ以外の場合は,値はです。

0

新しい値をBに代入すると,カテゴリは自動的に更新されます。したがって,異なるカテゴリをもつ (非順序) categorical 配列を組み合わせることができます。それに伴って、両方の配列のカテゴリを含めてカテゴリを更新することができます。

真正的1

新しい値をBに代入する場合,値は既存のカテゴリの1つに属していなければなりません。したがって,同じカテゴリをもつ配列のみを組み合わせることができます。新しいカテゴリをBに追加するには,関数addcatsを使用しなければなりません。

すべて折りたたむ

気象計のラベルをもつ直言配列を作成します。それを温度測定値の表に追加します。次に,そのカテゴリを使用して,気象計別に温度測定値を選択します。

まず,温度測定値,日付,および気象計のラベルを含む配列を作成します。

临时工= [58;72;56;90;76);日期= {“2017-04-17”“2017-04-18”“2017-04-30”“2017-05-01”“2017-04-27”};站= {“S1 '“S2”“S1 '“S3”“S2”};

を直言配列に変換します。

站=分类(站)
站=5 x1分类S1 s2 S1 s3 s2

そのカテゴリを表示します。3.つの気象計のラベルがカテゴリです。

类别(站)
ans =3 x1细胞{' S1 '} {S2的}{S3的}

温度,日付,および気象計のラベルを含む表を作成します。

T =表(临时工、日期、站)
T =5×3表临时工日期站  _____ ______________ ________ 58{‘2017-04-17’}S1 72{‘2017-04-18’}S2 56{‘2017-04-30’}S1 90{‘2017-05-01’}S3 76{‘2017-04-27’}S2

気象計S2から取得した測定値を表示します。==演算子を使用してS2と等価の値を見つけることができます。次に,論理インデックス付けを使用して,気象計S2からのデータを含む表行を選択します。

(T.Stations == . .“S2”);T (TF,:)
ans =2×3表临时工日期站  _____ ______________ ________ 72{‘2017-04-18’}S2 76{‘2017-04-27’}S2

文字ベクトルの细胞配列一个を直言配列に変換します。一个に存在しない値を含むカテゴリのリストを指定します。

文字ベクトルの细胞配列を作成します。

一个= {“共和党人”“民主党人”“民主党人”“民主党人”“民主党人”“共和党人”};

一个を直言配列に変換します。独立的のカテゴリを追加します。

valueset = {“民主党人”“共和党人”“独立”};valueset B =分类(一)
B =3 x2分类共和党民主党民主党民主党共和党

Bのカテゴリを表示します。

类别(B)
ans =3 x1细胞{'民主党'}{'共和党'}{'独立'}

数値配列を作成します。

A = [1 3 2;2 1 3;3一2)
一个=3×31 3 2 2 1 3 3 1 2

一个を直言配列Bに変換して,カテゴリ名を指定します。

B = categorical(A,[1 2 3],{“红色”“绿色”“蓝”})
B =3 x3的分类红,蓝,绿,绿,蓝,蓝,红,绿

Bのカテゴリを表示します。

类别(B)
ans =3 x1细胞{'红'}{'绿'}{'蓝'}

Bは順序分类配列でありません。したがって,B内の値の比較には,等号演算子==および~ =のみを使用できます。

カテゴリ“红色”に属する要素を検索します。論理インデックス付けを使用してこれらの要素にアクセスします。

f = (b ==“红色”);B (TF)
ans =3 x1分类红红红

5行2列の数値配列を作成します。

A = [3 2;3 3;3 2;2 1;3 2]
一个=5×23 2 3 3 2 2 1 3 2

一个を順序分类配列に変換します。ここで,123.は,それぞれカテゴリ孩子成人高级を表します。

valueset = [1:3];catnames = {“孩子”“成人”“高级”};B =分类(A valueset catnames,“顺序”,真正的)
B =5 x2分类老人,老人,老人,老人,老人,老人,孩子,老人

Bは順序配列であるため,Bのカテゴリは、数学的な順序儿童<成人>老年人になります。

R2017a以降,二重引用符を使用して字符串配列を作成できるようになりました。また,弦配列は欠損値を含むこともできます。これは,引用符なしで< >失踪として表示されます。

str = [“平面”“喷气机”“平面”“直升飞机”失踪,“喷气机”
str =1 x6字符串"plane" "jet" "plane" "helicopter"  "jet"

字符串配列strを直言配列に変換します。関数分类は欠損字符串を未定義の直言値に変換します。これは,<定义>として表示されます。

C =分类(str)
C =1 x6分类飞机喷气飞机直升机<未定义>喷气

100年個の乱数を3つのカテゴリにビニングするには,関数离散化分类の代わりに)を使用します。

x =兰德(100 1);Y =离散化(x,[0.25 .75 1],“分类”,{“小”“媒介”“大”});总结(y)
小的22中46大的32

ヒント

  • 绝对配列を受け入れる関数,または返す関数の一覧については,绝对配列を参照してください。

  • 入力配列に,相互に近すぎる数値,datatime値または时间値がある場合,関数分类はこれらの値を切り捨てて重複値にします。たとえば,分类(1.00001 [1])は入力配列の2番目の要素を切り捨てます。数値データからカテゴリを作成するには,関数离散化を使用します。

代替方法

関数离散化を使用して,数値データをカテゴリ別にグループ化することもできます。

拡張機能

R2013bで導入