NHANES 資料清理
在資料清理過程中,我們發現 16 歲以下的受試者都沒有接受處置。回想一下,我們把「醫師是否曾建議他們在飲食中減少脂肪或熱量」的變數視為有目的的營養衛教,也就是本研究的處置。因此,讓我們只保留資料集中年齡大於 16 歲的受試者。
你可能也注意到,ggplot2 的預設設定會刪除相依變數有遺漏值的觀測值;在這裡,相依變數是體重。其中一個處理遺漏體重值的作法是「插補」(imputation),可以用 simputation 套件來實作。插補是一種處理遺漏值的技術,你可以用彙總統計(例如平均數或中位數)來取代,或是用模型來預測並填入值。
我們將使用 impute_median()。它以資料集與要插補的變數,或用來分組插補的公式作為引數。例如,impute_median(ToothGrowth, len ~ dose) 會以依 dose 分組後的 len 中位數,填補 len 變數中的任何遺漏值。所以,如果一隻接受劑量 2.0 的天竺鼠在 len 變數有遺漏值,就會以劑量為 2.0 的天竺鼠之 len 的中位數來填入。
本練習屬於課程
R 的實驗設計
練習說明
- 使用
filter()建立nhanes_filter,只保留年齡大於 16 歲(不包含 16 歲)的個體。年齡儲存在變數ridageyr中。 - 載入
simputation。使用impute_median()以riagendr分組,為nhanes_filter中bmxwt的遺漏觀測值進行插補。 - 將
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` = ___)
___ %>% ___