2

R'sには、ネストされたモデルの適合を帰属オブジェクトと比較するためmiceの関数 が含まれています。pool.compare相互作用用語を含めようとすると、次のようになります。

library(mice)
imput = mice(nhanes2)
mi1 <- with(data=imput, expr=lm(bmi~age*hyp))
mi0 <- with(data=imput, expr=lm(bmi~age+hyp))
pc  <- pool.compare(mi1, mi0, method="Wald")

次に、次のエラーを返します。

Error in pool(fit1) : 
  Different number of parameters: coef(fit): 6, vcov(fit): 5

分散共分散行列には、相互作用項が独自の変数として含まれていないようです。これを回避する最善の方法は何ですか?

4

1 に答える 1

3

問題は、一部のパラメーターが、帰属された data.sets の一部で推定できないことです。コードを実行すると、

( fit1<-mi1$analyses[[1]] )
# lm(formula = bmi ~ age * hyp)
# 
# Coefficients:
# (Intercept)         age2         age3         hyp2    age2:hyp2  
#      28.425       -5.425       -3.758        1.200        3.300  
#   age3:hyp2  
#          NA  

このセットでは、推定することはできませんでしたage3*hyp2(おそらく、このグループには観測値がなかったからです)。

coef(fit1)これにより、との不一致が生じ ます。これは、vcov(fit1)その項の共分散を推定できないためです。

この場合に何をすべきかは、プログラミングの問題というよりも統計的な問題です。データに何が適切か不明な場合は、Cross Validatedの統計学者に相談することをお勧めします。

于 2015-04-21T15:41:23.710 に答える