R數據分析:掃盲貼,什么是多重插補( 二 )


R數據分析:掃盲貼,什么是多重插補

文章插圖
跑出來結果了,但是你要明白這個時候模型是默認將有缺失值的觀測刪掉的 。結果不一定對 。
現在我們對剛剛的數據集進行一個多重插補,需要用到mice函數,這個函數接受的參數如下:
R數據分析:掃盲貼,什么是多重插補

文章插圖
其中重要的參數包括m,就是插補的完整數據集的個數;method就是插補的算法 , 這個就比較多了,常見如下:
R數據分析:掃盲貼,什么是多重插補

文章插圖
例如 , 我想對原始數據用pmm法進行多重插補,可以寫出代碼如下:
imputed_data <- mice::mice(data, m = 25, method = "pmm",maxit = 10, seed = 12345, print = FALSE)運行上面代碼插補自動完成 , 我們可以看到
R數據分析:掃盲貼,什么是多重插補

文章插圖
每一個變量都會作為其他變量的預測因子,同時每一個變量都會被其余所有變量所預測從而完成插補 。插補完成后我們可以查看插補后的數據集 , 代碼如下:
complete(imputed_data, action = "long", include = TRUE)最重要的一步是進行分析并進行效應合并,這個需要用到mice包中的with函數,可不是base包中的with函數,這個需要注意
R數據分析:掃盲貼,什么是多重插補

文章插圖
這個with是專門用來幫助我們在插補后的數據集中目標分析的函數 , 剛剛寫到我的目標分析是要做一個以hyp為因變量的邏輯回歸,此時對于插補后的數據 , 可以寫出代碼如下:
imputed_model <- with(imputed_data,glm(hyp ~ bmi+age+chl, family = binomial(link = 'logit')))得到結果如下:
R數據分析:掃盲貼,什么是多重插補

文章插圖
上圖中上面是插補后的邏輯回歸的結果,下圖是之前沒有插補的時候邏輯回歸的結果,可以看到差異還是蠻大的 。
多重插補的報告對于多重插補的結果報告 , BMJ也給了指南:
R數據分析:掃盲貼,什么是多重插補

文章插圖
完整文章如下,大家可以自己去閱讀:
Sterne J A C, White I R, Carlin J B, Spratt M, Royston P, Kenward M G et al. Multiple imputation for missing data in epidemiological and clinical research: potential and pitfalls BMJ 2009; 338 :b2393 doi:10.1136/bmj.b2393
其中的重點就是要報告用的啥軟件進行的多重插補,補了幾個數據集 , 補的時候用了哪些變量,非正態分布變量和分類變量用的什么method補的,如果目標分析有交互,補的時候考慮交互沒有;補的數據如果 太多,補與不補的個案需要對比的;還有建議對缺失機制做一個討論 。
以上就是今天給大家介紹的多重插補的內容 。

推薦閱讀