小鼠多级插补多个变量

问题描述 投票:0回答:1

我正在尝试使用 R 中的 mouse 包对多级模型进行多重插补。我按照herehere中列出的步骤来设置我的预测矩阵。然而,提供的示例仅包含预测矩阵数据集中不超过 7 个变量。 当数据集中有很多变量时我该怎么办?

我是否必须对我想要估算的每个变量重复此操作(见下文-pred)? (总共19个变量,还有4个虚拟变量)看起来非常乏味..

#create imputation model for Race_R
pred["Race_R", c("a","SchlPre","c", "Age",
                  "Gender","Race_R", "Ethnicity","EnrDipType",
                  "DemHHInc_Rnum","IQ","ABC_SS","d",
                  "SD","GASEndMnAcad","wj3","a1","a2",
                  "DemHHIncx","DemHHIncy")] <- c(0, -2, 1, 1, 1, 0, 1, 1, 1,1,1,1,1,1,1,0,0,0,0)

我还尝试使用

进行插补
imp <- mice(data, pred = pred, meth = impmethod, seed = 919,
            m = 10, print = FALSE)

但最终得到了一堆边界(奇异)拟合:请参阅 help('isSingular'),并且没有生成插补数据。我该如何解决这个问题?谢谢!!

r imputation r-mice multilevel-analysis
1个回答
0
投票

预测矩阵不必手动创建。有两个

mice
函数可用于此任务。然后可以根据多级插补的需要修改生成的对象。

# load packages
library(mice, quietly = TRUE)
library(ggmice, quietly = TRUE)

# example data
head(boys)
#>      age  hgt   wgt   bmi   hc  gen  phb tv   reg
#> 3  0.035 50.1 3.650 14.54 33.7 <NA> <NA> NA south
#> 4  0.038 53.5 3.370 11.77 35.0 <NA> <NA> NA south
#> 18 0.057 50.0 3.140 12.56 35.2 <NA> <NA> NA south
#> 23 0.060 54.5 4.270 14.37 36.7 <NA> <NA> NA south
#> 28 0.062 57.5 5.030 15.21 37.3 <NA> <NA> NA south
#> 36 0.068 55.5 4.655 15.11 37.0 <NA> <NA> NA south

# create full predictor matrix and visualize
pred <- make.predictorMatrix(boys)
plot_pred(pred)

# better: create pruned predictor matrix and visualize
pred <- quickpred(boys)
plot_pred(pred)

# make region the clustering variable for all imputations
pred[, "reg"] <- -2
plot_pred(pred)

# impute all variables with random effects
pred[pred == 1] <- 2
plot_pred(pred)

创建于 2023-12-07,使用 reprex v2.0.2

© www.soinside.com 2019 - 2024. All rights reserved.