例: NaN の検出と除去
markNaN 関数を使用して、データセット内の外れ値に NaN (Not a Number) のマークを付けます。関数 IsNaN、matchNaN、filterNaN を使用して NaN を操作します。
1. 過去 3 世紀に渡って記録された黒点の数を含むファイルを読み込んでデータをプロットします。
2. ThreeSigma 関数を使用して外れ値の添字を求めます。
次の年に記録された黒点の数が外れ値になっています。
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 の統計は収集できません。