
通過mice包應(yīng)用多重插補(bǔ)的步驟
基于mice包的分析通常符合以下分析過程:
library(mice)
imp <- mice(data, m)
fit <- with(imp, analysis)
pooled <- pool(fit)
summary(pooled)
其中,
- data是一個(gè)包含缺失值的矩陣或數(shù)據(jù)框。
- imp是一個(gè)包含m個(gè)插補(bǔ)數(shù)據(jù)集的列表對(duì)象,同時(shí)還含有完成插補(bǔ)過程的信息。 默認(rèn)m為5。
- analysis是一個(gè)表達(dá)式對(duì)象,用來設(shè)定應(yīng)用于m個(gè)插補(bǔ)數(shù)據(jù)集的統(tǒng)計(jì)分析方法。方法包括
做線性回歸模型的lm()函數(shù)、做廣義線性模型的glm()函數(shù)、做廣義可加模型的gam(),以及做負(fù)二項(xiàng)模型的nbrm()函數(shù)。
表達(dá)式在函數(shù)的括號(hào)中, ~的左邊是應(yīng)變量,
右邊是預(yù)測(cè)變量(用+符號(hào)分隔開)。 - fit是一個(gè)包含m個(gè)單獨(dú)統(tǒng)計(jì)分析結(jié)果的列表對(duì)象。
- pooled是一個(gè)包含這m個(gè)統(tǒng)計(jì)分析平均結(jié)果的列表對(duì)象
實(shí)例
imp <- mice(sleep, seed=1234)
summary(imp)
fit <- with(imp, lm(Dream ~ Span + Gest))
pooled <- pool(fit)
summary(pooled)

補(bǔ)充
-
predictorMatrix是預(yù)測(cè)矩陣,1代表由列變量來預(yù)測(cè)行變量,0代表否,該矩陣可以改變。
如果我想要不做夢(mèng)時(shí)長(zhǎng)( NonD)的值的插補(bǔ)不由體重( BodyWgt )情況所影響,則可以通過改變predictorMatrix以實(shí)現(xiàn)。
predictorMatrix1 <- imp$predictorMatrix
head(predictorMatrix1,10)
imp2 <- mice(sleep, predictorMatrix = predictorMatrix1,seed=1234)

-
插補(bǔ)后的數(shù)據(jù)亦可以進(jìn)行單變量分析
假設(shè)該例中我們研究不做夢(mèng)時(shí)長(zhǎng)( NonD)與面臨的總危險(xiǎn)度( Danger)之間的關(guān)系,危險(xiǎn)度有多個(gè)分級(jí),故使用非參數(shù)檢驗(yàn)中的Kruskal-Wallis檢驗(yàn):
僅需改變“analysis”即
kw <- with(imp2,kruskal.test(NonD ~ Danger))

