開始使用免費開始

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_filterbmxwt 的遺漏觀測值進行插補。
  • 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` = ___)
___ %>% ___
編輯並執行程式碼