NHANES データのクリーニング
データのクリーニング中、16歳未満の人は誰も治療を受けていないことが分かりました。ここでは、医師から食事中の脂肪やカロリーを減らすよう助言されたかどうかを示す変数を、目的のある栄養カウンセリング、つまり私たちの「治療」とみなしていました。そこで、データセットには16歳より大きい患者のみを残しましょう。
また、ggplot2 のデフォルト設定では、従属変数が欠損している観測値(この場合は体重)が削除されることにも気づいたかもしれません。欠損した体重への対処法の一つである「欠損補完」は、simputation パッケージで実装できます。欠損補完は、欠損値を平均や中央値といった要約統計量で置き換える、あるいはモデルで予測した値を用いて置き換える手法です。
ここでは impute_median() を使います。これは、データセットと、補完する変数または群ごとに補完するための式を引数に取ります。例えば、impute_median(ToothGrowth, len ~ dose) は、dose ごとの len の中央値で、変数 len の欠損値を補完します。つまり、用量 2.0 を投与されたモルモットで len が欠損している場合、dose が 2.0 のモルモットにおける len の中央値で補完されます。
この演習はコースの一部です
Rで学ぶ実験計画法
演習の手順
filter()を使って、16歳を含めず、16歳より大きい人だけを残してnhanes_filterを作成します。年齢はridageyr変数に保存されています。simputationを読み込みます。impute_median()を使い、nhanes_filter内のbmxwtの欠損を、riagendrでグループ化して補完します。nhanes_final$mcq365dについて、値が 9 の観測値は 2 に置き換えるようにリコードします。count()を使って、リコードが正しく行われたことを確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Filter to keep only those 16+
nhanes_filter <- ___ %>% filter(___)
# Load simputation & impute bmxwt by riagendr
___
nhanes_final <- impute_median(___, ___)
# Recode mcq365d with recode() & examine with count()
nhanes_final$mcq365d <- recode(nhanes_final$mcq365d,
`1` = 1,
`2` = 2,
`9` = ___)
___ %>% ___