R の MICE パッケージに問題があります。特に、帰属データ セットのプールに問題があります。
レベル 1 のトピック (暗闇、日などのさまざまなトピックに関する 10 の質問に対する参加者の回答) をレベル 2 の個人内にネストして、マルチレベルの二項ロジスティック回帰を実行しています。
モデルは R2MLwiN を使用して作成され、式は次のとおりです。
> fit1 <-runMLwiN( c(probit(T_Darkness, cons), probit(T_Day, cons), probit(T_Light, cons), probit(T_Night, cons), probit(T_Rain, cons), probit(T_Rainbows, cons), probit(T_Snow, cons), probit(T_Storms, cons), probit(T_Waterfalls, cons), probit(T_Waves, cons)) ~ 1, D=c("Mixed", "Binomial", "Binomial","Binomial","Binomial", "Binomial", "Binomial", "Binomial", "Binomial", "Binomial" ,"Binomial"), estoptions = list(EstM = 0), data=data)
残念ながら、レベル 1 (トピック) のすべての回答でデータが欠落しています。私はmice
パッケージ ([CRAN][1]) を使用して欠損値を乗算しています。
式を使用して、モデルを帰属データセットに適合させることができます> fitMI <- (with(MI.Data, runMLwiN( c(probit(T_Darkness, cons), probit(T_Day, cons), probit(T_Light, cons), probit(T_Night, cons), probit(T_Rain, cons), probit(T_Rainbows, cons), probit(T_Snow, cons), probit(T_Storms, cons), probit(T_Waterfalls, cons), probit(T_Waves, cons)) ~ 1, D=c("Mixed", "Binomial", "Binomial","Binomial","Binomial", "Binomial", "Binomial", "Binomial", "Binomial", "Binomial" ,"Binomial"), estoptions = list(EstM = 0), data=data)))
ただし、呼び出しコードを使用して分析をプールする> pool(fitMI)
と、エラーが発生して失敗します。
Error in pool(with(tempData, runMLwiN(c(probit(T_Darkness, cons), probit(T_Day, :
Object has no coef() method.
個々の MI データセットの分析では、固定部分 (係数) とランダム部分 (共分散) の両方が提供されるため、係数がないと言っている理由がわかりません。
何がうまくいかないかについての助けをいただければ幸いです。
R とマルチレベル モデリングを使用するのはこれが初めてであることを警告しておきます。また、これを実行できる MlwiN パッケージ ([REALCOM][2]) があることは知っていますが、MLwiN ソフトウェアを使用するバックグラウンドがありません。
ありがとうジョニー
更新 - R 再現可能な例
使用ライブラリ
ライブラリ(R2MLwiN)
ライブラリー(マウス)
データのサブセット `
T_Darkness <- c(0, 1, 0, 0, 0, 0, 0, 1, 0, 0, NA, 0, 0, 0, NA, 1, 0, NA,NA, 1, 0, 0, 0 、1、0、0、0、NA、0、0、0、NA、0、0、0、0、0、0、0、1、0、0、0、0、0、0、0、0 , 0, 0, 0, 1, 該当なし, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 該当なし, 1, 0)
T_Day <- c(0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NA, 0, 0, 0, NA, 0 、0、0、0、0、0、0、0、0、0、1、0、1、0、0、0、1、1、0、0、NA、0、0、0、0、NA 、0、0、1、0、0、0、0、1、0、0、0、0、1、0、0、NA、NA、0)
T_Light <- c(0, 0, NA, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0 , 1, 0, 0, 該当なし, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 1, 該当なし, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 該当なし, 0, 0)
T_Night <- c(0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, NA , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 ,NA, 0, NA, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, NA, 0, 0)
T_Rain <- c(1, 0, 0, 1, 1, 0, 0, NA, 0, 1, 0, 0, 1, 0, 0, 0, 0, NA, 0, 0, 1, 0, 0 、0、0、0、0、0、1、0、0、1、0、0、1、0、0、0、0、NA、0、0、0、0、1、0、0、0 、NA、1、NA、0、0、0、0、1、NA、1、0、0、0、0、1、NA、0、0)
T_Rainbows <- c(1, 1, 1, 1, 0, 1, 0, 1, 0, 1, NA, 1, 1, 0, 0, 1, 0, NA, 0, 1, 0, NA, 0 、1、0、0、0、0、0、NA、0、0、0、NA、1、1、1、0、0、1、1、0、0、0、0、0、1、0 , 1, 1, 1, 1, 該当なし, 1, 0, 1, 該当なし, 0, 0, 1, 0, 1, 1, 1, 0, 1)
T_雪 <- c(0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, NA, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 , 1, 1, 0, 0, 0, なし, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 、NA、0、0、1、NA、1、0、1、1、0、0、0、0、0、NA、0、0、0)
T_Storms <- c(0, 0, 0, 1, 1, 1, 0, 1, 0, 1, NA, 0, 0, 0, 0, 1, 0, NA, 0, 0, 1, 0, 0 、NA、1、1、NA、0、0、NA、0、1、0、NA、1、0、1、0、0、0、0、0、0、1、0、0、1、0 、0、0、1、0、NA、1、0、NA、0、0、0、1、1、0、1、NA、NA、1)
T_Waterfalls <- c(0, 0, 0, 0, 0, 0, 0, NA, 0, 0, 0, 0, 0, 0, 0, NA, 0, 0, 0, 0, 1, 0, 0 、0、0、0、0、0、NA、0、0、0、0、0、0、1、0、0、0、1、0、0、NA、0、0、0、0、0 、NA、0、1、0、NA、1、0、1、0、0、0、NA、0、0、0、NA、NA、0)
T_Waves <- c(0, 1, 0, 1, 1, 0, 1, NA, 0, 0, NA, 0, 0, 0, NA, 1, 0, 0, 0, 0, 1, 0, NA 、0、NA、0、0、NA、0、0、0、0、0、0、NA、1、0、0、0、1、0、0、NA、0、1、0、0、0 、0、0、1、1、NA、1、1、NA、0、0、0、NA、0、0、0、NA、0、0)
data <- data.frame (T_Darkness, T_Day, T_Light, T_Night, T_Rain, T_Rainbows, T_Snow, T_Storms, T_Waterfalls, T_Waves)
データ $cons <- 1
`
マウスを使用して帰属されたデータ
MI.Data <- マウス(data,m=5,maxit=50,meth='pmm',seed=500)