MATLAB ヘルプ センター
categorical 配列のカテゴリをマージする
B = mergecats(A,oldcats)
B = mergecats(A,oldcats,newcat)
B = mergecats(A,oldcats) は、categorical 配列の 2 つ以上のカテゴリを 1 つのカテゴリにマージします。既定では、mergecats は、oldcats にリストされているすべてのカテゴリを、oldcats(1) と同じ名前の新しいカテゴリにマージします。A の要素が oldcats にリストされているカテゴリに属している場合、B の対応する要素は oldcats(1) に属します。
A
oldcats
mergecats
oldcats(1)
B
例
B = mergecats(A,oldcats,newcat) は、oldcats にリストされているすべてのカテゴリを、newcat で指定された名前をもつ単一の新しいカテゴリにマージします。
newcat
すべて折りたたむ
さまざまな色のカテゴリを含む categorical 配列を作成します。
A = categorical(["pink" "blue" "pink" "red" "blue" "red"])
A = 1×6 categorical pink blue pink red blue red
A のカテゴリを表示します。3 つのカテゴリはアルファベット順に並んでいます。
categories(A)
ans = 3×1 cell {'blue'} {'pink'} {'red' }
カテゴリ red および pink をカテゴリ red にマージします。oldcats で red を最初に指定し、マージされるカテゴリとして使用します。mergecats は、値 pink を red に置き換えます。
red
pink
oldcats = ["red" "pink"]; B = mergecats(A,oldcats)
B = 1×6 categorical red blue red red blue red
B のカテゴリを表示します。新しい配列ではカテゴリ数が減っています。
categories(B)
ans = 2×1 cell {'blue'} {'red' }
さまざまな衣類品のカテゴリを含む categorical 配列を作成します。
A = categorical(["shirt" "pants" "shoes" "shirt" "dress" "belt"])
A = 1×6 categorical shirt pants shoes shirt dress belt
A のカテゴリを表示します。順序を指定しなかった場合、カテゴリはアルファベット順になります。
ans = 5×1 cell {'belt' } {'dress'} {'pants'} {'shirt'} {'shoes'}
カテゴリ belt および shoes を other という新規カテゴリにマージします。値 other は belt および shoes のすべてのインスタンスを置き換えます。
belt
shoes
other
B = mergecats(A,["belt" "shoes"],"other")
B = 1×6 categorical shirt pants other shirt dress other
B のカテゴリを表示します。新しい配列には 4 つのカテゴリがあり、順序はアルファベット順ではなくなっています。other は、置き換える最初のカテゴリである belt の代わりに表示されています。
ans = 4×1 cell {'other'} {'dress'} {'pants'} {'shirt'}
順序 categorical 配列を作成します。
A = categorical([1 2 3 2 1],1:3,["poor" "fair" "good"],Ordinal=true)
A = 1×5 categorical poor fair good fair poor
A のカテゴリを表示します。カテゴリは、数学的な順序 poor < fair < good になります。
poor < fair < good
ans = 3×1 cell {'poor'} {'fair'} {'good'}
すべての fair 値または poor 値を bad という新しいカテゴリにマージします。A には順序があるため、マージするカテゴリは連続していなければなりません。連続していない場合、mergecats は数学的な順序をもつ新しいカテゴリ セットを作成できません。
fair
poor
bad
B = mergecats(A,["fair" "poor"],"bad")
B = 1×5 categorical bad bad good bad bad
B のカテゴリを表示します。新しい配列には、数学的な順序をもつ 2 つのカテゴリ (bad < good) があります。
bad < good
ans = 2×1 cell {'bad' } {'good'}
categorical 配列を作成します。この配列には、"はい" と "いいえ" を表すさまざまなカテゴリがあります。
C = categorical(["Y" "Yes" "Yeah" "N" "No" "Nope"])
C = 1×6 categorical Y Yes Yeah N No Nope
categories(C)
ans = 6×1 cell {'N' } {'No' } {'Nope'} {'Y' } {'Yeah'} {'Yes' }
patternを使用すると、複数のカテゴリ名を一致させることができます。たとえば、Y で始まるカテゴリ名を指定するには、ワイルドカード パターンを使用できます。ワイルドカード パターンを作成するには、関数wildcardPatternを使用します。
pattern
Y
wildcardPattern
名前が Y で始まるすべてのカテゴリを、yes という名前の 1 つのカテゴリにマージします。次に、名前が N で始まるすべてのカテゴリを、no という名前の 1 つのカテゴリにマージします。その結果、同じ意味をもつ値がすべて同じカテゴリに含まれることになります。これで、C のカテゴリは 2 つだけになりました。
yes
N
no
C
C = mergecats(C,"Y" + wildcardPattern,"yes"); C = mergecats(C,"N" + wildcardPattern,"no")
C = 1×6 categorical yes yes yes no no no
ans = 2×1 cell {'no' } {'yes'}
入力配列。categorical 配列として指定します。
マージするカテゴリ。string 配列、文字ベクトルの cell 配列、または pattern スカラーとして指定します。
A が順序配列の場合、oldcats では連続するカテゴリのサブセットを指定する必要があります。連続していない場合、mergecats は数学的な順序をもつ新しいカテゴリ セットを作成できません。
A が非順序配列の場合、oldcats ではカテゴリの任意のサブセットを指定できます。
新規カテゴリ。string スカラーまたは文字ベクトルとして指定します。
すべて展開する
mergecats 関数は tall 配列を完全にサポートしています。詳細については、tall 配列を参照してください。
使用上の注意および制限:
入力引数 oldcats はパターン式をサポートしません。
詳細については、categorical 配列のコード生成 (MATLAB Coder)を参照してください。
backgroundPool
ThreadPool
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
R2013b で導入
categories | addcats | removecats | iscategory | renamecats | reordercats | setcats | times
categories
addcats
removecats
iscategory
renamecats
reordercats
setcats
times
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ