ドキュメンテーション

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

countcats

カテゴリカル配列要素の出現回数をカテゴリ別にカウント

構文

  • B = countcats(A)
  • B = countcats(A,dim)

説明

B = countcats(A) は、カテゴリカル配列 A の各カテゴリの要素数を返します。

  • A がベクトルの場合、countcats は各カテゴリの要素数を返します。

  • A が行列の場合、countcats は、A の列をベクトルとして取り扱い、A の各列のカテゴリ カウントを返します。

  • A が多次元配列の場合、countcats は、サイズが 1 でない最初の配列次元に沿って機能します。

B = countcats(A,dim) は、次元 dim に沿ってカテゴリ カウントを返します。

たとえば、countcats(A,2) を使用して、カテゴリカル配列の各行のカテゴリ カウントを返すことができます。

すべて折りたたむ

1 行 5 列のカテゴリカル ベクトルを作成します。

A = categorical({'plane' 'car' 'train' 'car' 'plane'})
A = 

     plane      car      train      car      plane 

A には、carplanetrain の 3 つのカテゴリがあります。

A の各カテゴリの要素数を求めます。

B = countcats(A)
B =

     2     2     1

B の最初の要素は、A の最初のカテゴリ (car) に対応します。B の 2 番目の要素は、A の 2 番目のカテゴリ (plane) に対応します。B の 3 番目の要素は、A の 3 番目のカテゴリ (train) に対応します。

A は行ベクトルなので、countcats は行ベクトルを返します。

数値配列から 3 行 2 列のカテゴリカル配列 A を作成します。

valueset = 1:3;
catnames = {'red' 'green' 'blue'};

A = categorical([1 3; 2 1; 3 1],valueset,catnames)
A = 

     red        blue 
     green      red  
     blue       red  

A には、redgreenblue の 3 つのカテゴリがあります。

A の各列のカテゴリ カウントを求めます。

B = countcats(A)
B =

     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 の最初の列と 2 番目の列でそれぞれ 1 回出現します。

数値配列から 3 行 2 列のカテゴリカル配列 A を作成します。

valueset = 1:3;
catnames = {'red' 'green' 'blue'};

A = categorical([1 3; 2 1; 3 1],valueset,catnames)
A = 

     red        blue 
     green      red  
     blue       red  

A には、redgreenblue の 3 つのカテゴリがあります。

2 番目の次元に沿って A のカテゴリ カウントを求めます。

B = countcats(A,2)
B =

     1     0     1
     1     1     0
     1     0     1

B の最初の列は、A の最初のカテゴリに対応します。値 red は、A の最初の行、2 番目の行、3 番目の行でそれぞれ 1 回出現します。

B の 2 番目の列は、A の 2 番目のカテゴリに対応します。値 green は、1 つの要素だけで出現します。出現するのは A の 2 番目の行です。

B の 3 番目の列は、A の 3 番目のカテゴリに対応します。値 blue は、A の最初の行と 3 番目の行で 1 回ずつ出現します。

数値配列から 6 行 1 列のカテゴリカル配列 A を作成します。

valueset = 1:3;
catnames = {'red' 'green' 'blue'};

A = categorical([1;3;2;1;3;1],valueset,catnames)
A = 

     red 
     blue 
     green 
     red 
     blue 
     red 

カテゴリ blue を削除します。

A = removecats(A,'blue')
A = 

     red 
     <undefined> 
     green 
     red 
     <undefined> 
     red 

A には、redgreen の 2 つのカテゴリがあります。カテゴリ blue からの A の要素は未定義です。

A の各カテゴリの要素数を求めます。

B = countcats(A)
B =

     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 

入力引数

すべて折りたたむ

カテゴリカル配列。ベクトル、行列または多次元配列として指定します。

動作する対象の次元。正の整数のスカラーとして指定します。値を指定しない場合、既定値は、サイズが 1 ではない最初の配列の次元です。

2 次元のカテゴリカル配列 A について考えます。

dim = 1 の場合、countcats(A,1)A の各列のカテゴリ カウントを返します。

dim = 2 の場合、countcats(A,2)A の各行のカテゴリ カウントを返します。

dimndims(A) より大きい場合、countcats(A) は、各カテゴリについて A と同じサイズの配列を返します。countcats は、対応するカテゴリの要素については 1 を返し、それ以外については 0 を返します。

詳細

すべて折りたたむ

ヒント

  • カテゴリカル配列 A の未定義の要素数を求めるには、summary または isundefined を使用しなければなりません。

R2013b で導入

この情報は役に立ちましたか?