分层,然后在R中使用mi()进行插补
我想使用R中可用的包“分层然后插补” 也就是说,我希望: 1) 使用名为“arm”的二进制变量对数据集进行分层。此变量没有丢失的数据。 2) 对这两个子集运行插补模型 3) 合并两个插补数据集 4) 进行汇总分析 我的数据集看起来像:分层,然后在R中使用mi()进行插补,r,missing-data,imputation,R,Missing Data,Imputation,我想使用R中可用的包“分层然后插补” 也就是说,我希望: 1) 使用名为“arm”的二进制变量对数据集进行分层。此变量没有丢失的数据。 2) 对这两个子集运行插补模型 3) 合并两个插补数据集 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,
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")
dataSim您所说的“我不知道如何组合这些结果进行汇总分析”是什么意思?这是指您不知道如何组合结果,还是不知道组合后是否使用了正确的统计方法?如果是后者,您应该将问题重新聚焦于此,并在[crossValidated]上提问,这是统计方法问题的适当位置()。这样的问题太离题了,我不知道如何把它们结合起来。例如,对于mices()命令,有一个ibind()函数,它允许您组合来自同一数据集的插补,但我有两个不同的数据集。我对这种方法很满意-我只是不知道如何实现它。请展示您的library()
语句,看看我现在添加了library(mi)并试图使代码更清晰。很抱歉之前没有这样做。我建议您向软件包作者发送电子邮件。这些信息不在他们的小插曲中。mi::complete
命令不够。和str(插补)。0@data.....)
不容易解释。您所说的“我不知道如何组合这些结果进行汇总分析”是什么意思?这是指您不知道如何组合结果,还是不知道组合后是否使用了正确的统计方法?如果是后者,您应该将问题重新聚焦于此,并在[crossValidated]上提问,这是统计方法问题的适当位置()。这样的问题太离题了,我不知道如何把它们结合起来。例如,对于mices()命令,有一个ibind()函数,它允许您组合来自同一数据集的插补,但我有两个不同的数据集。我对这种方法很满意-我只是不知道如何实现它。请展示您的library()
语句,看看我现在添加了library(mi)并试图使代码更清晰。很抱歉之前没有这样做。我建议您向软件包作者发送电子邮件。这些信息不在他们的小插曲中。mi::complete
命令不够。和str(插补)。0@data.....)
不容易解释。
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)
imputations <- rbind(imputations.0, imputations.1) # This doesn't work
# analysis.X1 <- pool(X1 ~ arm, data = imputations ) # This is what I want to run