主要内容

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

绝对配列の作成

この例では,绝对配列を作成する方法を説明します。分类は,離散カテゴリの有限集合からの値をもつデータを格納するためのデータ型です。これらのカテゴリには自然な順序がある場合がありますが,必須ではありません。分类配列は,データを効率的に格納して操作するのに適しています。また、値のわかりやすい名前を維持することもできます。多くの場合、categorical 配列は行のグループを定義するためにテーブルで使用されます。

既定の設定では,绝对配列には数学的に順序付けされていないカテゴリが含まれます。たとえば,ペットのカテゴリの離散集合{'狗'猫''鸟'}には,意味意味ある数码的な顺序付けられていないので,matlab®ははアルファベット{'鸟'猫''狗'}を使用します。“順序”绝对配列には,意味のある数学的な順序が付けられているカテゴリが含まれます。たとえば,サイズのカテゴリの離散集合{‘小’,‘中等’,‘大’}には数学的な順序小<中<大が付けられています。

文字ベクトルの细胞配列または字符串配列から直言配列を作成する場合,先頭と末尾の空白が削除されます。たとえば,テキスト{‘猫’‘狗’}をカテゴリとして指定し,これらをカテゴリに変換すると,{‘猫’‘狗’}になります。

文字ベクトルの细胞配列からの直言配列の作成

関数分类を使用して,数値配列,逻辑配列,字符串配列,文字ベクトルの细胞配列または既存の直言配列から直言配列を作成することができます。

ニューイングランドの州名を含む1行11列の文字ベクトルを作成します。

状态= [“马”“我”“CT”“vt”“我”“NH”“vt”“马”“NH”“CT”“扶轮”];

细胞配列状态を数学な顺序付け付けいいないない配列配列変换します。

状态=分类(状态)
状态=1 x11分类第1至9列MA ME CT VT ME NH VT MA NH 10至11列CT RI
类(状态)
ans =“分类”

変数状态の離散カテゴリを一覧表示します。

类别(状态)
ans =6 x1细胞{' ct '} {' ma '} {' me '} {' nh '} {' ri '} {' vt '}

カテゴリがアルファベット順に並べられています。

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

8つのオブジェクトのサイズを含む1行8列の文字ベクトルの细胞配列を作成します。

AllSizes = [“媒介”“大”“小”“小”“媒介”...“大”“媒介”“小”];

细胞配列Allsizes.には,'大的'“媒介”“小”の3つの異なる値が含まれています。文字ベクトルの细胞配列を使用する場合,小<中<大を示す便利な方法はありません。

细胞配列Allsizes.をを分类配列に変换します。valuesetを使用して,カテゴリを定義する値媒介およびを指定します。順序分类配列では,最初に指定されたカテゴリが最小になり,最後に指定されたカテゴリが最大になります。

valueset = [“小”“媒介”“大”];sizeOrd =分类(AllSizes valueset,“顺序”,真正的)
sizeOrd =1×8分类第1列到第6列,中,大,小,中,大。第7列到第8列,中,小
班级(sciodord)
ans =“分类”

绝对配列の値の順序sizeOrdは変更されません。

直言変数sizeOrdの離散カテゴリを一覧表示します。

类别(sizeOrd)
ans =3 x1细胞{'small'} {'medium'} {'large'}

カテゴリが、数学的な順序小<中<大に対応する指定された順序で並べられます。

数値データのビン化による順序分类配列の作成

50 0からまでの範囲の100個の乱数からなるベクトルを作成します。

x =兰德(100 1)* 50;

関数离散化を使用してxの値をビン化して直言配列を作成します。0 ~ 15までのすべての値を最初のビンに,15 ~ 35までのすべての値を2番目のビンに,35 ~ 50までのすべての値を3番目のビンに入れます。それぞれのビンには,左の端点は含まれますが,右の端点は含まれません。

catnames = [“小”“媒介”“大”];binnedData =离散化(x,[0 15 35 50],“分类”, catnames);

binnedDataは,小<中<大である3つのカテゴリを含む100行1列の順序分类配列です。

関数总结を使用して各カテゴリの要素の数を出力します。

总结(binnedData)
小的30中35大的35

字符串配列からの直言配列の作成

R2016b以降では,関数字符串を使用して字符串配列を作成し,绝对配列に変換できます。

惑星の名前を含む字符串配列を作成します。

str = [“地球”“木星”“海王星”“木星”“火星”“地球”
str =1 x6字符串地球、木星、海王星、木星、火星、地球

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

行星=分类(str)
行星=1 x6分类地球木星海王星木星火星地球

欠損要素をstrに追加して,绝对配列に変換します。strに欠損値がある場合,行星には未定義の値があります。

str (8) =“火星”
str =1×8字符串第7至8栏 "Mars"(火星)
行星=分类(str)
行星=1×8分类第1栏到第6栏地球木星海王星木星火星地球第7栏到第8栏火星

参考

|||

関連する例

詳細