ドキュメンテーション

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

欠損値をもつデータ

多くのデータセットは、複数の欠損値を含んでいます。複数の変数と観測についてデータセットの構造を保つために、欠損値を NaN (Not a Number) としてコーディングすることは便利です。

演算対象が NaN の場合、標準的な MATLAB® の算術演算子は NaN 値を生成します。値 NaN を削除すると、行列構造が破壊されます。値 NaN を含む行を削除すると、データが破棄されます。次の表の Statistics and Machine Learning Toolbox™ 関数は、計算の目的でのみ値 NaN を削除します。

関数説明
nancov

NaN 値を無視した共分散行列

nanmax

NaN 値を無視した最大値

nanmean

NaN 値を無視した平均値

nanmedian

NaN 値を無視した中央値

nanmin

NaN 値を無視した最小値

nanstd

NaN 値を無視した標準偏差

nansum

NaN 値を無視した総和

nanvar

NaN 値を無視した分散

Statistics and Machine Learning Toolbox の他の関数も、NaN の値を無視します。これらの関数として、iqrkurtosismadprctilerangeskewnesstrimmean があります。

欠損値があるデータの処理

3 行 3 列の標本データの行列を作成します。2 つのデータ値を NaN で置き換えて削除します。

X = magic(3);
X([1 5]) = [NaN NaN]
X = 3×3

   NaN     1     6
     3   NaN     7
     4     9     2

関数 sum を使用して、標本データ行列の各列について合計を計算します。

s1 = sum(X)
s1 = 1×3

   NaN   NaN    15

列に NaN 値が含まれている場合、関数 sum はその列のデータの合計として NaN を返します。

比較のため、関数 nansum を使用して標本データ行列の各列の合計を計算します。

s2 = nansum(X)
s2 = 1×3

     7    10    15

列に NaN 値が含まれている場合、関数 nansumNaN 値を無視し、列の残りの値の合計を返します。