Main Content

mergecats

categorical 配列のカテゴリのマージ

説明

B = mergecats(A,oldcats) は、A の複数のカテゴリを最初のカテゴリ oldcats(1) にマージします。Aoldcats の値はすべて Boldcats(1) になります。

B = mergecats(A,oldcats,newcat) は、oldcats を単一の新規カテゴリ newcat にマージします。Aoldcats の値はすべて Bnewcat になります。

すべて折りたたむ

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

A = categorical({'red';'blue';'pink';'red';'blue';'red'})
A = 6x1 categorical
     red 
     blue 
     pink 
     red 
     blue 
     red 

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

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

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

3 つのカテゴリはアルファベット順に並んでいます。

カテゴリ red および pink をカテゴリ red にマージします。oldcats では、red を最初に指定し、マージされるカテゴリとして使用します。

oldcats = {'red','pink'};
B = mergecats(A,oldcats)
B = 6x1 categorical
     red 
     blue 
     red 
     red 
     blue 
     red 

mergecats は、A(3) の値 pinkred に置き換えます。

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

categories(B)
ans = 2x1 cell
    {'blue'}
    {'red' }

B は、3 つではなく 2 つのカテゴリをもつことになります。

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

A = categorical({'shirt' 'pants'; 'shoes' 'shirt'; 'dress' 'belt'})
A = 3x2 categorical
     shirt      pants 
     shoes      shirt 
     dress      belt  

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

categories(A)
ans = 5x1 cell
    {'belt' }
    {'dress'}
    {'pants'}
    {'shirt'}
    {'shoes'}

5 つのカテゴリはアルファベット順に並んでいます。

カテゴリ belt および shoesother という新規カテゴリにマージします。

B = mergecats(A,{'belt' 'shoes'},'other')
B = 3x2 categorical
     shirt      pants 
     other      shirt 
     dress      other 

otherbelt および shoes のすべてのインスタンスを置き換えます。

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

categories(B)
ans = 4x1 cell
    {'other'}
    {'dress'}
    {'pants'}
    {'shirt'}

B には 4 つのカテゴリがあり、その順序はもうアルファベット順ではありません。otherbelt の代わりに表示されています。

順序 categorical 配列を作成します。

A = categorical([1 2 3 2 1],1:3,{'poor','fair','good'},'Ordinal',true)
A = 1x5 categorical
     poor      fair      good      fair      poor 

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

categories(A)
ans = 3x1 cell
    {'poor'}
    {'fair'}
    {'good'}

A は順序配列であるため、カテゴリは数学的な順序 poor < fair < good をもちます。

すべての fair または poor 値が bad であると見なします。A には順序があるため、マージするカテゴリは連続していなければなりません。

B = mergecats(A,{'fair' 'poor'},'bad')
B = 1x5 categorical
     bad      bad      good      bad      bad 

badfair および poor のすべてのインスタンスを置き換えます。

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

categories(B)
ans = 2x1 cell
    {'bad' }
    {'good'}

B は、数学的な順序をもつ次の 2 つのカテゴリをもつことになります。bad < good

categorical 配列を作成します。この配列には、"はい" と "いいえ" を表すさまざまなカテゴリがあります。

C = categorical(["Y" "Yes" "Yeah" "N" "No" "Nope"])
C = 1x6 categorical
     Y      Yes      Yeah      N      No      Nope 

categories(C)
ans = 6x1 cell
    {'N'   }
    {'No'  }
    {'Nope'}
    {'Y'   }
    {'Yeah'}
    {'Yes' }

patternを使用すると、複数のカテゴリ名を一致させることができます。たとえば、Y で始まるカテゴリ名を指定するには、ワイルドカード パターンを使用できます。ワイルドカード パターンを作成するには、関数wildcardPatternを使用します。

名前が Y で始まるすべてのカテゴリを、yes という名前の 1 つのカテゴリにマージします。次に、名前が N で始まるすべてのカテゴリを、no という名前の 1 つのカテゴリにマージします。その結果、同じ意味をもつ値がすべて同じカテゴリに含まれることになります。これで、C のカテゴリは 2 つだけになりました。

C = mergecats(C,"Y" + wildcardPattern,"yes");
C = mergecats(C,"N" + wildcardPattern,"no")
C = 1x6 categorical
     yes      yes      yes      no      no      no 

categories(C)
ans = 2x1 cell
    {'no' }
    {'yes'}

入力引数

すべて折りたたむ

入力配列。categorical 配列として指定します。

マージするカテゴリ。string 配列、文字ベクトルの cell 配列、または pattern スカラーとして指定します。A に順序がある場合、マージするカテゴリは連続していなければなりません。

新規カテゴリ。string スカラーまたは文字ベクトルとして指定します。

拡張機能

バージョン履歴

R2013b で導入