例: NaN の検出と除去
markNaN関数を使用して、データセット内の外れ値に
NaN (Not a Number) のマークを付けます。関数
IsNaN、
matchNaN、および
filterNaNを使用して
NaN を管理します。
1. 過去 3 世紀に渡って記録された黒点の数を含むファイルを読み込んでデータをプロットします。
次の年に記録された黒点の数が外れ値になっています。
3. markNaN 関数を使用して NaN をデータの列 1 の外れ値としてマーク付けします。
データを NaN に置き換えれば測定が行われたことがわかりますが、処理の前に NaN を含む行をフィルタによって除去することもできます。
4. matchNaN 関数を使用して、NaN としてマーク付けされている箇所の添字を求めます。
行 257 と行 278 のデータが組み込み定数 NaN に置き換えられています。
5. IsNaN 関数を使用して、データセット Data と MarkedData について 1957 年に NaN のマークが付いているかどうかを確認します。
6. 新しいデータセットをプロットし、元のデータセットと比較します。
データセット MarkedData に記録されている NaN はプロットされないので、元のデータセットの外れ値は青色の四角形によって示されません。
7. filterNaN 関数を使用して、NaN を含む行を除去するよう設定された行列 MarkedData をフィルタリングします。
8. rows関数を使用してデータセット
Data および
FilteredData の行番号を計算します。
FilteredData の行数が減り、2 となりました。
9. mean関数を使用してデータセット
MarkedData および
FilteredData の平均を計算します。
データセット FilteredData の統計量は収集できますが、データセット MarkedData の統計は収集できません。