1

Rで利用可能なパッケージを使用して「階層化してから代入」したい.

つまり、次のことを望んでいます。1) 「arm」と呼ばれるバイナリ変数を使用して、データセットを階層化します。この変数には欠損データはありません。2) 2 つのサブセットの代入モデルを実行します。3) 2 つの代入データセットを結合します。4) プール分析を実行します。

私のデータセットは次のようになります。

dataSim <- structure(list(pid = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 
            13, 14, 15, 16, 17, 18, 19, 20), arm = c(0, 0, 0, 0, 0, 0, 0, 
            0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), X1 = c(0.1, NA, 0.51, 
            0.56, -0.82, NA, NA, NA, -0.32, 0.4, 0.58, NA, 0.22, -0.23, 1.49, 
            -1.88, -1.77, -0.94, NA, -1.34), X2 = c(NA, -0.13, NA, 1.2, NA, 
            NA, NA, 0.02, -0.04, NA, NA, 0.25, -0.81, -1.67, 1.01, 1.69, 
            -0.06, 0.07, NA, -0.11)), .Names = c("pid", "arm", "X1", "X2"
             ), row.names = c(NA, 20L), class = "data.frame")  

データを代入するために、現在、次のように mi() 関数を使用しています。

 library(mi)

data.1 <-  dataSim[dataSim[,"arm"]==1,]
data.0 <- dataSim[dataSim[,"arm"]==0,]

data.miss.1 <- missing_data.frame(data.1)
data.miss.0 <- missing_data.frame(data.0)

imputations.1 <- mi(data.1, n.iter=5, n.chains=5, max.minutes=20, parallel=FALSE)
imputations.0 <- mi(data.0, n.iter=5, n.chains=5, max.minutes=20, parallel=FALSE)

complete(imputations.1)   # viewing the imputed datasets
complete(imputations.0)

次に、プールされた分析を行うために2つの代入を組み合わせる方法がわかりません。私は失敗しました:

imputations <-  rbind(imputations.0, imputations.1)  # This doesn't work

# analysis.X1 <- pool(X1 ~ arm, data = imputations ) # This is what I want to run

この方法は、代入時に相互作用項を含めることの簡略化されたバージョンであると思いますが、これがどのように可能かもわかりません。

ありがとう

4

0 に答える 0