欠損データの扱い
見込み寄付者の中には、age が欠損している人がいます。残念ながら、R は回帰モデルを作成する際に NA を含むケースを除外してしまいます。
その回避策の1つは、欠損値を推定値で置き換える、つまりインピュートすることです。さらに、インピュート後は、欠損があるケースがそうでないケースと何らかの点で異なる可能性をモデル化できるよう、欠損データの有無を示すインジケーターを作成してもよいでしょう。
データフレーム donors はワークスペースに読み込まれています。
この演習はコースの一部です
Rで学ぶSupervised Learning:分類
演習の手順
- 欠損のない見込み客の平均年齢を確認するために、
donors$ageに対してsummary()を使用します。 ifelse()とテストis.na(donors$age)を使い、ageが欠損しているケースには平均値(NA を無視し、小数第2位に丸める)をインピュートします。- 同じテストを用いてもう一度
ifelse()を使い、欠損の有無を示す二値のダミー変数missing_ageを作成します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Find the average age among non-missing values
summary(___)
# Impute missing age values with the mean age
donors$imputed_age <- ifelse(___)
# Create missing value indicator for age
donors$missing_age <- ___