ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

reordercats

categorical 配列でのカテゴリの順序の変更

構文

B = reordercats(A)
B = reordercats(A,neworder)

説明

B = reordercats(A) は、categorical 配列 A のカテゴリを英数字順に並べ替えます。

カテゴリの順序は、関数 summaryhistogram などで使用されます。categorical 配列が順序配列である場合、カテゴリの順序はそれらの数学的な順序を定義します。最初に指定されるカテゴリは最小で、最後に指定されるカテゴリは最大になります。

B = reordercats(A,neworder) は、neworder で指定された順序でカテゴリを並べ替えます。

すべて折りたたむ

2 つの categorical 配列 X および Y を作成します。

X = categorical({'frog';'cat';'cat';'ant';'frog'})
X = 5x1 categorical array
     frog 
     cat 
     cat 
     ant 
     frog 

Y = categorical({'deer';'bear';'eagle';'deer'})
Y = 4x1 categorical array
     deer 
     bear 
     eagle 
     deer 

X は 5 行 1 列の categorical 配列です。X のカテゴリは、次の配列から並べ替えられた一意の値です。 {'ant';'cat';'frog'}.

Y は 4 行 1 列の categorical 配列です。Y のカテゴリは、次の配列から並べ替えられた一意の値です。 {'bear';'deer';'eagle'}.

XY を 1 つの categorical 配列 A に連結します。

A = [X;Y]
A = 9x1 categorical array
     frog 
     cat 
     cat 
     ant 
     frog 
     deer 
     bear 
     eagle 
     deer 

vertcat は、Y からの値を X からの値に追加します。

categorical 配列 A のカテゴリを一覧表示します。

acats = categories(A)
acats = 6x1 cell array
    {'ant'  }
    {'cat'  }
    {'frog' }
    {'bear' }
    {'deer' }
    {'eagle'}

vertcat は、Y のカテゴリを X からのカテゴリに追加します。A のカテゴリは、アルファベット順に "表示されません"。

A のカテゴリをアルファベット順に並べ替えます。

B = reordercats(A)
B = 9x1 categorical array
     frog 
     cat 
     cat 
     ant 
     frog 
     deer 
     bear 
     eagle 
     deer 

出力 categorical 配列 B の要素とその順序は入力 categorical 配列 A と同じです。

categorical 配列 B のカテゴリを一覧表示します。

bcats = categories(B)
bcats = 6x1 cell array
    {'ant'  }
    {'bear' }
    {'cat'  }
    {'deer' }
    {'eagle'}
    {'frog' }

B のカテゴリは、アルファベット順に表示されます。

さまざまな項目の色を含む categorical 配列を作成します。

A = categorical({'red';'green';'blue';'red';'green';'red';'blue';'blue'})
A = 8x1 categorical array
     red 
     green 
     blue 
     red 
     green 
     red 
     blue 
     blue 

A は 8 行 1 列の categorical 配列です。

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

categories(A)
ans = 3x1 cell array
    {'blue' }
    {'green'}
    {'red'  }

A のカテゴリはアルファベット順で、数学的な意味をもちません。

通常の色の順序に合わせてカテゴリを並べ替えます。

B = reordercats(A,{'red','green','blue'})
B = 8x1 categorical array
     red 
     green 
     blue 
     red 
     green 
     red 
     blue 
     blue 

B は、A と同じ値を含みます。

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

categories(B)
ans = 3x1 cell array
    {'red'  }
    {'green'}
    {'blue' }

B は順序配列ではないため、カテゴリの順序には数学的な意味はありません。カテゴリは色スペクトルの順序で表示されますが、> (より大きい) や< (より小さい) などの関係演算子は意味をもちません。

交通手段を含む順序 categorical 配列 A を作成します。旅行の平均価格に基づいてカテゴリを並べ替えます。

A = categorical({'plane';'car'; 'train';'car';'plane';'car'},...
    {'car','train','plane'},'Ordinal',true)
A = 6x1 categorical array
     plane 
     car 
     train 
     car 
     plane 
     car 

A は 6 行 1 列の順序 categorical 配列です。

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

categories(A)
ans = 3x1 cell array
    {'car'  }
    {'train'}
    {'plane'}

A は順序配列であるため、car < train < plane となります。

電車旅行の費用の低下を反映するようにカテゴリを並べ替えます。

B = reordercats(A,{'train','car','plane'})
B = 6x1 categorical array
     plane 
     car 
     train 
     car 
     plane 
     car 

B は、A と同じ値を含みます。

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

categories(B)
ans = 3x1 cell array
    {'train'}
    {'car'  }
    {'plane'}

カテゴリの数学的な順序は train < car < plane になります。関係演算子 minmax の結果には、新しいカテゴリ順序が反映されます。

交通手段を含む categorical 配列 A を作成します。

A = categorical({'plane';'car';'train';'car';'car';'plane';'car'})
A = 7x1 categorical array
     plane 
     car 
     train 
     car 
     car 
     plane 
     car 

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

categories(A)
ans = 3x1 cell array
    {'car'  }
    {'plane'}
    {'train'}

A に含まれる数が少ないものから多いものの順にカテゴリを並べ替えます。

B = countcats(A);
[C,neworder] = sort(B);
neworder
neworder = 3×1

     3
     2
     1

D = reordercats(A,neworder);
categories(D)
ans = 3x1 cell array
    {'train'}
    {'plane'}
    {'car'  }

countcats はカテゴリごとの出現をカウントするため、neworderA の要素ではなくカテゴリを並べ替える方法を指定します。

入力引数

すべて折りたたむ

categorical 配列。ベクトル、行列または多次元配列として指定します。A が順序 categorical 配列である場合は、カテゴリの並べ替えにより、数学的な意味が変更されます。その結果、 > (より大きい) や < (より小さい) などの関係演算子で、異なる結果が返される場合があります。

B の新しいカテゴリ順序。文字ベクトルの cell 配列、string 配列、または数値ベクトルとして指定します。newordercategories(A) の置換でなければなりません。

ヒント

  • categorical 配列 B を順序 categorical 配列に変換するには、B = categorical(B,'Ordinal',true) を使用します。カテゴリの順序は B = categorical(B,valueset,'Ordinal',true) で指定できます。この場合、valueset の値の順序でカテゴリ順が定義されます。

拡張機能

R2013b で導入