このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
この例では,绝对配列を作成する方法を説明します。分类
は,離散カテゴリの有限集合からの値をもつデータを格納するためのデータ型です。これらのカテゴリには自然な順序がある場合がありますが,必須ではありません。分类配列は,データを効率的に格納して操作するのに適しています。また、値のわかりやすい名前を維持することもできます。多くの場合、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栏火星