始める無料で始める

欠損値

時系列データには欠損値が含まれることがあり、R では NA で表されます。どこに欠損があるかを把握することは有用です。また、R のさまざまな関数が欠損値をどのように扱うかを知ることも重要です。欠損を無視したい場合もあれば、欠損値を補完(推定)したい場合もあります。

ここでは再び月次の AirPassengers データセットを扱いますが、今回は 1956 年のデータが欠損しています。この演習では、この欠損が与える影響を確認し、問題解決のために新しいデータを補完してみます。

mean() 関数は標本平均を計算しますが、NA が含まれていると正しく動作しません。すべての欠損を除外して平均を計算するには、mean(___, na.rm = TRUE) を使います。観測された値の平均で欠損を置き換えるのは一般的な方法です。AirPassengers データセットにこの単純なデータ補完法を適用した場合、十分に妥当と言えるでしょうか。

この演習はコースの一部です

Rで学ぶ時系列分析

コースを見る

演習の手順

  • plot() を使って AirPassengers の簡単なプロットを表示します。1956 年の欠損データに注目してください。
  • mean() を使って、欠損を除外して(na.rm = TRUEAirPassengers の標本平均を計算します。
  • 事前に用意されたコードを実行して、欠損部分に平均値を補完します。
  • もう一度 plot() を呼び出して、補完後の AirPassengers データを再プロットします。
  • 事前に用意されたコードを実行して、完全な AirPassengers データをプロットに追加します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Plot the AirPassengers data
plot(___)

# Compute the mean of AirPassengers


# Impute mean values to NA in AirPassengers
AirPassengers[85:96] <- mean(AirPassengers, na.rm = ___)

# Generate another plot of AirPassengers


# Add the complete AirPassengers data to your plot
rm(AirPassengers)
points(AirPassengers, type = "l", col = 2, lty = 3)
コードを編集して実行