カテゴリ別のデータのプロット
メモ
nominal
配列データ型および ordinal
配列データ型は推奨されません。順序付きおよび順序付けのない離散非数値データを表すには、代わりにcategorical 配列データ型を使用します。
カテゴリ別のデータのプロット
この例では、カテゴリカル変数のレベル別にデータをプロットする方法を示します。
標本データを読み込みます。
load carsmall
変数 Acceleration
には 100 台の標本の自動車の加速度測定値が格納されています。変数 Origin
は各自動車の生産国が格納されている文字配列です。
ノミナル配列を作成します。
Origin
をノミナル配列に変換します。
Origin = nominal(Origin); getlevels(Origin)
ans = 1x6 nominal
France Germany Italy Japan Sweden USA
標本には一意の生産国の値が 6 つあります。既定では、nominal
はアルファベットの昇順に国名を並べます。
カテゴリ別にデータをプロットします。
Acceleration
の箱ひげ図を、Origin
の値別に作図します。
figure
boxplot(Acceleration,Origin)
title('Acceleration, Grouped by Country of Origin')
箱ひげ図はカテゴリ レベルと同じ順序で表示されます (カテゴリの順序を変更するには reorderlevels
を使用します)。
生産国がイタリアである観測結果はわずかしかありません。
カテゴリ カウントを表にします。
標本の生産国別の自動車台数を表にします。
tabulate(Origin)
Value Count Percent France 4 4.00% Germany 9 9.00% Italy 1 1.00% Japan 15 15.00% Sweden 2 2.00% USA 69 69.00%
イタリアで生産された自動車は 1 台だけです。
カテゴリを削除します。
標本からイタリア製の自動車を削除します。
Acceleration2 = Acceleration(Origin~='Italy'); Origin2 = Origin(Origin~='Italy'); getlevels(Origin2)
ans = 1x6 nominal
France Germany Italy Japan Sweden USA
イタリア製の自動車が標本になくても、ノミナル変数 Origin2
にはカテゴリ Italy
がまだ存在しています。この状態は意図的なものであり、categorical 配列のレベルは値と必ずしも一致しないことを意味します。
カテゴリ レベルを削除します。
droplevels
を使用して Italy
カテゴリを削除します。
Origin2 = droplevels(Origin2,'Italy');
tabulate(Origin2)
Value Count Percent France 4 4.04% Germany 9 9.09% Japan 15 15.15% Sweden 2 2.02% USA 69 69.70%
ノミナル配列 Origin2
から Italy
カテゴリがなくなりました。
カテゴリ別にデータをプロットします。
Acceleration2
の箱ひげ図を、Origin2
の値別に作図します。
figure
boxplot(Acceleration2,Origin2)
title('Acceleration, Grouped by Country of Origin')
プロットにはイタリア製の自動車が表示されなくなります。
参考
droplevels
| nominal
| reorderlevels
| boxplot