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