【问题标题】:How to restrict imputation of values during mice如何在老鼠期间限制值的插补
【发布时间】:2019-09-17 15:53:02
【问题描述】:

我正在使用mice 包来估算数据,并且我已经阅读了关于限制估算值的后处理,但是我所阅读的所有内容都是关于将值限制在某个范围内。我要估算的变量之一是输血总量。然而,在我的数据集中,并不是每个人都接受过输血。我在我的数据中有这个(输注/未输注)作为二进制变量。我需要让没有输血的人有 NA 的价值观。以下是我所做的,但它不起作用

post["ml"]<-"imputedneonates[[j]][p$data$transfused[!r[,j]]==0,i]"<-NA

【问题讨论】:

    标签: r r-mice


    【解决方案1】:

    对于那些没有输血的人,将音量参数设置为 0 会更有意义。这是一个例子:

    
    require(mice)
    
    set.seed(314)
    transfusion <- data.frame(transfused = sample(c(1,0,NA), 100, prob = c(.8,.15,.05), replace = T),
                              age = rnorm(100,6,2)) %>%
      mutate(volume = if_else(transfused == 1,rnorm(nrow(.),250,50),as.numeric(NA))) %>%
      mutate(volume = if_else(sample(c(TRUE,FALSE),nrow(.),prob = c(0.1,0.9), replace = T),as.numeric(NA),volume))
    
    
    ini <- mice(transfusion, maxit = 0)
    post <- ini$post
    
    post["volume"] <- "imp[[j]][data$transfused[!r[, j]] == 0, i] <- as.numeric(0)"
    imp <- mice(transfusion, post=post, print=FALSE)
    
    complete(imp)
    
    

    另一个建议是根本不估算transfused,而只估算体积,然后在估算后或被动估算后计算transfused。我没有太多关于您的数据和缺失数据的信息,因此此选项可能不适用。

    【讨论】:

      猜你喜欢
      • 2020-10-24
      • 1970-01-01
      • 2022-06-16
      • 1970-01-01
      • 2019-08-04
      • 1970-01-01
      • 2021-07-02
      • 2021-05-30
      • 2021-06-29
      相关资源
      最近更新 更多