Main Content

ordinal

(非推奨) 順序データの配列

nominal 配列データ型および ordinal 配列データ型は推奨されません。順序付きおよび順序付けのない離散非数値データを表すには、代わりにcategorical 配列データ型を使用します。

説明

順序データは、離散型の非数値データであり、自然な順序になっています。ordinal 配列オブジェクトは、このようなデータを効率的に保存して操作するのに適しています。また、意味のわかりやすいラベルを値に維持することもできます。

ordinal 配列は、添字付け、連結、形状の変更によって、通常の数値配列のように操作できます。観測値が属するグループを要素が示す場合、グループ化変数として ordinal 配列を使用します。

作成

説明

B = ordinal(X) は、配列 X から順序配列 B を作成します。ordinal は、X 内の並べ替えられた一意な値から B のレベルを作成し、このレベルに対して既定のラベルを作成します。

B = ordinal(X,labels) は、labels に従い B のレベルをラベル付します。

B = ordinal(X,labels,levels) は、levels の定義に可能なレベルで順序配列を作成します。

B = ordinal(X,labels,[],edges) は、数値ベクトル edges で指定されたビンのエッジを使用して数値配列 X をビンにまとめることにより、順序配列を作成します。

入力引数

すべて展開する

ordinal に変換する入力配列。数値配列、logical 配列、文字配列、string 配列、categorical 配列、または文字ベクトルの cell 配列を指定します。結果の配列 ordinal のレベルは X の並べ替えられた一意の値に対応します。

離散レベルのラベル。文字配列、string 配列、または文字ベクトルの cell 配列を指定します。既定では、ordinal は、X 内の並べ替えられた一意な値の順序で B 内のレベルにラベルを割り当てます。

重複するラベルを labels に含めると、X の複数の値を B の 1 つのレベルにマージできます。

データ型: char | string | cell

出力 ordinal 配列の可能なレベル ordinal。ベクトルとして指定します。ベクトルの値は等号演算子を使用して X 内の値と比較できます。ordinal は、labels の対応する要素から各レベルにラベルを割り当てます。X に、levels に存在しない値が含まれている場合は、B の対応する要素のレベルは定義されません。

数値配列をビンにまとめて ordinal 配列を作成するために使用するビンのエッジ。数値ベクトルを指定します。最上位のビンには右端のエッジと等しい値が含まれます。ordinal は、対応する labels の要素から生成される ordinal 配列内の各レベルにラベルを割り当てます。入力引数 edges を指定する場合、labels より要素が 1 つ多くなければなりません。

出力引数

すべて展開する

順序配列。ordinal 配列オブジェクトとして返されます。

既定では、X の対応する要素が NaN (X が数値)、空の文字ベクトル (X が文字)、空の string または欠損 string (X が string)、または未定義 (X が categorical) である場合、B の要素は定義されません。ordinal は、このような要素を未定義または欠損として扱い、これらに対するエントリを可能なレベルに含めません。未定義として扱うのではなく、このような要素に対する明示的なレベルを作成するには、入力引数 levels を使用して、NaN、空の文字ベクトル、空の string、欠損 string または未定義の要素を含めなければなりません。

オブジェクト関数

addlevels(非推奨) ノミナル配列または順序配列へのレベルの追加
droplevels(非推奨) ノミナルまたは順序配列からのレベルの削除
getlabels(非推奨) ノミナル配列または順序配列のラベルにアクセス
getlevels(非推奨) ノミナル配列または順序配列のレベルにアクセス
islevel(非推奨) レベルが、ノミナル配列であるか順序配列であるかを決定
levelcounts(非推奨) ノミナル配列または順序配列のレベルごとの要素カウント
mergelevels(非推奨) ノミナル配列または順序配列のレベルのマージ
reorderlevels(非推奨) ノミナル配列または順序配列のレベルの並べ替え
setlabels(非推奨) ノミナル配列または順序配列のレベルにラベルを割り当て

次の一覧は、順序配列を使用できる MATLAB® 配列関数の一部です。

double倍精度配列
histogramヒストグラム プロット
isequal配列の等価性を判別
isundefinedcategorical 配列の未定義の要素を検索
pieレガシ円グラフ
summarytable、timetable または categorical 配列の概要の表示
times乗算

すべて折りたたむ

整数データから順序配列を作成し、明示的なラベルを指定します。

quality = ordinal([1 2 3 3 2 1 2 1 3],...
   {'low' 'medium' 'high'})
quality = 1x9 ordinal
     low      medium      high      high      medium      low      medium      low      high 

最初の要素が 2 番目の要素よりも小さい (低が中より小さい) ことを示します。

quality(1) < quality(2)
ans = logical
   1

0 から 1 までの値を、'small''medium' および 'large' のラベルの付いた 3 番目の要素のビンにまとめることで、順序配列を作成します。

X = rand(5,2)
X = 5×2

    0.8147    0.0975
    0.9058    0.2785
    0.1270    0.5469
    0.9134    0.9575
    0.6324    0.9649

A = ordinal(X,{'small' 'medium' 'large'},[],[0 1/3 2/3 1])
A = 5x2 ordinal
     large       small  
     large       small  
     small       medium 
     large       large  
     medium      large  

整数データから順序配列を作成します。

quality = ordinal([1 2 3; 3 2 1; 2 1 3],{'low' 'medium' 'high'})
quality = 3x3 ordinal
     low         medium      high 
     high        medium      low  
     medium      low         high 

quality の要素の中で 'medium' 以上のレベルのメンバーであるものを特定します。生成される配列の値 1 は、quality の対応する要素がこのレベルのメンバーであることを示します。

quality >= 'medium'
ans = 3x3 logical array

   0   1   1
   1   1   0
   1   0   1

レベル 'low' または 'high' のいずれかのメンバーである quality の要素を特定します。

ismember(quality,{'low' 'high'})
ans = 3x3 logical array

   1   0   1
   1   0   1
   0   1   1

'medium' および'high' レベルの要素を 'ok' とラベル付けされる新規ラベルにマージします。

quality = mergelevels(quality,{'medium','high'},'ok')
quality = 3x3 ordinal
     low      ok       ok  
     ok       ok       low 
     ok       low      ok  

quality のレベルを表示します。

getlevels(quality)
ans = 1x2 ordinal
     low      ok 

各レベルの要素数をまとめます。既定では、summary は、入力配列の各列のカウントを返します。

summary(quality)
     low      1      1      1 
     ok       2      2      2 

バージョン履歴

R2007a で導入