Main Content

箱ひげ図の使用によるグループ化されたデータの比較

この例では、ノッチのある箱ひげ図を作成して、2 つのデータ グループを比較する方法を示します。ノッチは、標本間の中央値の変動性を示します。ノッチがオーバーラップしていない箱どうしが有意水準 5% で異なる中央値をもつように、ノッチの幅が計算されます。有意水準は正規分布の仮定に基づきますが、中央値の比較は他の分布に対して適度にロバストです。箱ひげ図の中央値を比較することは、平均に対して使われる t 検定に似ており、視覚による仮説検定のように考えられます。箱ひげ図のさまざまな機能の詳細については、箱ひげ図を参照してください。

fisheriris データ セットを読み込みます。このデータ セットには、3 種のアヤメの花のがく片と花弁からの長さと幅の測定値が含まれています。setosa 種のアヤメについてのがく片の幅のデータを s1 に、versicolor 種のアヤメについてのがく片の幅のデータを s2 に格納します。

load fisheriris
s1 = meas(1:50,2);
s2 = meas(51:100,2);

標本データを使用してノッチのある箱ひげ図を作成し、アヤメの種の名前で各ボックスにラベルを付けます。

boxplot([s1 s2],'Notch','on', ...
        'Labels',{'setosa','versicolor'})

Figure contains an axes object. The axes object contains 14 objects of type line. One or more of the lines displays its values using only markers

2 つのボックスのノッチはオーバーラップしていません。これは、setosa 種のアヤメと versicolor 種のアヤメのがく片の幅の中央値に有意水準 5% の有意差があることを示しています。setosa ボックスの中央値の赤い線も、versicolor ボックスの中央値の赤い線も、ボックスの中央に位置していないように見えます。これは、各標本の分布にやや偏りがあることを示しています。また、setosa 種のデータには 1 つの外れ値が含まれていますが、versicolor 種のデータには外れ値は含まれていません。

関数 boxplot を使用する代わりに、MATLAB® 関数 boxchart を使用して箱ひげ図を作成できます。boxplot ではなく関数 boxchart を使用して前のプロットを再作成します。

speciesName = categorical(species(1:100));
sepalWidth = meas(1:100,2);
b = boxchart(speciesName,sepalWidth,'Notch','on');

Figure contains an axes object. The axes object contains an object of type boxchart.

boxchart によって作成された各ノッチは、次第に細くなっており、中央線の周りに影付きの領域があります。影は、ノッチをよりよく識別するのに役立ちます。

boxchart を使用する利点の 1 つは、この関数が作成する BoxChart オブジェクトのプロパティをドット表記を使用して簡単に変更できることです。たとえば、b オブジェクトの WhiskerLineStyle プロパティを指定して、ひげのスタイルを変更できます。

b.WhiskerLineStyle = '--';

Figure contains an axes object. The axes object contains an object of type boxchart.

boxchart を使用する利点の詳細については、代替機能を参照してください。

参考

| | |

関連するトピック