"混在効果"モデルのようにクラスタを考えている場合は、mice
で提供されているクラスター化データ用のメソッドを使用する必要があります。これらのメソッドはmanualにあり、通常接頭辞は2l.something
です。
クラスタ化されたデータのための様々な方法はmice
で幾分制限されているが、私は、クラスタレベルで下位単位のデータと2l.only.norm
を逃すため2l.pan
を使用することをお勧めすることができます。
混合効果モデルの代わりに、ダミーインジケーターを使用してクラスター構造(つまり、各クラスターごとに1つのダミー変数)を表すことを検討できます。この方法は、混合効果モデルの観点からクラスターを考えるときには理想的ではありません。したがって、ミックスエフェクト解析を行いたい場合は、可能な限りミックスエフェクトモデルに固執してください。
以下、両方の戦略の例を示します。
準備:
library(mice)
data(nhanes)
set.seed(123)
nhanes <- within(nhanes,{
country <- factor(sample(LETTERS[1:10], size=nrow(nhanes), replace=TRUE))
countryID <- as.numeric(country)
})
ケース1:代入
混合効果モデルを使用してこのセクションでは、不足しているデータとの3つの変数を転嫁する2l.pan
を使用しています。予測変数マトリックスに-2
を指定することによって、クラスタ変数としてclusterID
を使用することに注意してください。他のすべての変数に対しては固定効果のみを割り当てます(1
)。
# "empty" imputation as a template
imp0 <- mice(nhanes, maxit=0)
pred1 <- imp0$predictorMatrix
meth1 <- imp0$method
# set imputation procedures
meth1[c("bmi","hyp","chl")] <- "2l.pan"
# set predictor Matrix (mixed-effects models with random intercept
# for countryID and fixed effects otherwise)
pred1[,"country"] <- 0 # don't use country factor
pred1[,"countryID"] <- -2 # use countryID as cluster variable
pred1["bmi", c("age","hyp","chl")] <- c(1,1,1) # fixed effects (bmi)
pred1["hyp", c("age","bmi","chl")] <- c(1,1,1) # fixed effects (hyp)
pred1["chl", c("age","bmi","hyp")] <- c(1,1,1) # fixed effects (chl)
# impute
imp1 <- mice(nhanes, maxit=20, m=10, predictorMatrix=pred1, method=meth1)
ケース2:代入このセクションでは、帰属のためpmm
を使用し、クラスタ化された構造は、「アドホック」様式で表されているクラスタ
ためのダミーインジケータ(DIS)を使用。つまり、クラスタ化されたものはランダムな効果ではなく、固定された効果で表されます。これは、欠落したデータを持つ変数のクラスターレベルの可変性を誇張する可能性があります。そのため、使用時に行うことを理解してください。
# create dummy indicator variables
DIs <- with(nhanes, contrasts(country)[country,])
colnames(DIs) <- paste0("country",colnames(DIs))
nhanes <- cbind(nhanes,DIs)
# "empty" imputation as a template
imp0 <- mice(nhanes, maxit=0)
pred2 <- imp0$predictorMatrix
meth2 <- imp0$method
# set imputation procedures
meth2[c("bmi","hyp","chl")] <- "pmm"
# for countryID and fixed effects otherwise)
pred2[,"country"] <- 0 # don't use country factor
pred2[,"countryID"] <- 0 # don't use countryID
pred2[,colnames(DIs)] <- 1 # use dummy indicators
pred2["bmi", c("age","hyp","chl")] <- c(1,1,1) # fixed effects (bmi)
pred2["hyp", c("age","bmi","chl")] <- c(1,1,1) # fixed effects (hyp)
pred2["chl", c("age","bmi","hyp")] <- c(1,1,1) # fixed effects (chl)
# impute
imp2 <- mice(nhanes, maxit=20, m=10, predictorMatrix=pred2, method=meth2)
あなたは、これらの方法を考えるのものにアップ読みたい場合は、oneまたはthese論文のtwoを見てみましょう。
各要因レベルで 'マウス 'を実行するとよいでしょうか?たとえば、マウス(nhanes [nhanes $ country == 'A']、m = 10) 'を実行してから、要素をループするか、お気に入りのRのgroupby操作を使用しますか?これはもちろん、国家Aのデータを帰属させるために、他の国は必要ない、すなわち独立していると仮定しています。 –
さて、私はこれを試してみました - そして、データセット 'rbind.mids(' - しかし、私はこの機能が私には分からない多くの警告とエラーを与えていることがわかりました。データ構造の認識はより良いだろう。提案のおかげで – user2498193