countcats
categorical 配列要素の出現回数をカテゴリ別にカウント
説明
例
categorical ベクトルのカテゴリ カウント
1 行 5 列の categorical ベクトルを作成します。
A = categorical({'plane' 'car' 'train' 'car' 'plane'})
A = 1x5 categorical
plane car train car plane
A
には 3 つのカテゴリがあります。カテゴリとその順序をリストするには、関数 categories
を使用します。A
の各要素は、categories
の呼び出しによってリストされたカテゴリのいずれかに属します。
categories(A)
ans = 3x1 cell
{'car' }
{'plane'}
{'train'}
A
の各カテゴリの要素数を求めます。
B = countcats(A)
B = 1×3
2 2 1
B
の最初の要素は、A
の最初のカテゴリ (car
) に対応します。B
の 2 番目の要素は、A
の 2 番目のカテゴリ (plane
) に対応します。B
の 3 番目の要素は、A
の 3 番目のカテゴリ (train
) に対応します。
A
は行ベクトルであるため、countcats
は行ベクトルを返します。
配列の各列のカテゴリ カウント
数値配列から 3 行 2 列の categorical 配列 A
を作成します。
valueset = 1:3; catnames = {'red' 'green' 'blue'}; A = categorical([1 3; 2 1; 3 1],valueset,catnames)
A = 3x2 categorical
red blue
green red
blue red
A
には、red
、green
、blue
の 3 つのカテゴリがあります。
A
の各列のカテゴリ カウントを求めます。
B = countcats(A)
B = 3×2
1 2
1 0
1 1
B
の最初の行は、A
の最初のカテゴリに対応します。値 red
は A
の最初の列に 1 回、2 番目の列に 2 回出現します。
B
の 2 番目の行は、A
の 2 番目のカテゴリに対応します。値 green
は A
の最初の列に 1 回出現しますが、2 番目の列には出現しません。
B
の 3 番目の行は、A
の 3 番目のカテゴリに対応します。値 blue
は A
の最初の列に 1 回、2 番目の列に 1 回出現します。
配列の各行のカテゴリ カウント
数値配列から 3 行 2 列の categorical 配列 A
を作成します。
valueset = 1:3; catnames = {'red' 'green' 'blue'}; A = categorical([1 3; 2 1; 3 1],valueset,catnames)
A = 3x2 categorical
red blue
green red
blue red
A
には、red
、green
、blue
の 3 つのカテゴリがあります。
2 番目の次元に沿って A
のカテゴリ カウントを求めます。
B = countcats(A,2)
B = 3×3
1 0 1
1 1 0
1 0 1
B
の最初の列は、A
の最初のカテゴリに対応します。値 red
は A
の最初の行に 1 回、2 番目の行に 1 回、3 番目の行に 1 回出現します。
B
の 2 番目の列は、A
の 2 番目のカテゴリに対応します。値 green
は 1 つの要素にのみ出現します。出現するのは A
の 2 番目の行です。
B
の 3 番目の列は、A
の 3 番目のカテゴリに対応します。値 blue
は A
の最初の行に 1 回、3 番目の行に 1 回出現します。
未定義の要素を含む配列のカテゴリ カウント
数値配列から 6 行 1 列の categorical 配列 A
を作成します。
valueset = 1:3; catnames = {'red' 'green' 'blue'}; A = categorical([1;3;2;1;3;1],valueset,catnames)
A = 6x1 categorical
red
blue
green
red
blue
red
カテゴリ blue
を削除します。
A = removecats(A,'blue')
A = 6x1 categorical
red
<undefined>
green
red
<undefined>
red
A
には、red
と green
の 2 つのカテゴリがあります。カテゴリ blue
だった A
の要素は未定義となっています。
A
の各カテゴリの要素数を求めます。
B = countcats(A)
B = 2×1
3
1
B
の最初の要素は、A
の最初のカテゴリに対応します。値 red
は A
に 3 回出現します。
B
の 2 番目の要素は、A
の 2 番目のカテゴリに対応します。値 green
は A
に 1 回出現します。
countcats
は、未定義の要素に関する情報を返しません。
関数 summary
を使用して、A
の各カテゴリの要素数だけでなく、未定義の要素数を表示します。
summary(A)
red 3 green 1 <undefined> 2
入力引数
A
— categorical 配列
ベクトル | 行列 | 多次元配列
categorical 配列。ベクトル、行列または多次元配列として指定します。
dim
— 演算の対象の次元
正の整数スカラー
演算の対象の次元。正の整数のスカラーとして指定します。次元を指定しない場合、既定値はサイズが 1 より大きい最初の配列次元です。
2 次元の categorical 配列 A
について考えます。
dim = 1
の場合、countcats(A,1)
は A
の各列のカテゴリ カウントを返します。
dim = 2
の場合、countcats(A,2)
は A
の各行のカテゴリ カウントを返します。
dim
が ndims(A)
より大きい場合、countcats(A)
は、各カテゴリについて A
と同じサイズの配列を返します。countcats
は、対応するカテゴリの要素については 1
を返し、それ以外については 0
を返します。
ヒント
categorical 配列
A
の未定義の要素数を求めるには、summary
またはisundefined
を使用しなければなりません。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
この関数は tall 配列を完全にサポートしています。詳細については、tall 配列を参照してください。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2013b で導入
参考
iscategory
| ismember
| summary
| isundefined
| categories
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)