【问题标题】:MICE package in R: passive imputationR中的MICE包:被动插补
【发布时间】:2017-03-24 14:46:58
【问题描述】:

我的目标是通过多重插补处理缺失值,然后使用混合线性模型进行分析。

我被“BMI”(体重指数)和“BMI 类别”的被动估算所累。 “BMI”是根据身高和体重计算出来的,然后归类为“BMI类别”。

如何估算“BMI 类别”?

数据库如下所示:

 sub_eu_surf[1:5, 3:12]

    age gender smoking exercise education sbp dbp height weight      bmi
    1  41      1       1        2        18 120  80    185    107 31.26370
    2  46      1       3        2        18 130  70    182    102 30.79338
    3  46      1       3        2        18 130  70    182    102 30.79338
    4  47      1       1        2        14 130  80    178     78 24.61810
    5  47      1       1        1        14 150  80    175     85 27.75510

由于“bmi 类别”不是我估算的预测指标,因此我决定在估算后创建它。详情如下:
1. 定义方法和预测器

ini<-mice(sub_eu_surf, maxit=0)
meth<-ini$meth
meth["bmi"]<-"~I(weight/(height/100)^2)"

pred <- ini$predictorMatrix
pred[c("pm25_global", "pm25_eu", "pm10_eu", "no2_eu"),  ]<-0 
pred[,c("bmi", "hba1c", "pm25_eu", "pm10_eu")]<-0
pred[,"tc"]<-0
pred[c("smoking", "exercise", "hdl", "glucose"), "tc"]<-1
pred[c("smoking", "exercise", "hdl", "glucose"), "ldl"]<-0
vis <- ini$vis
imp_eu<-mice(sub_eu_surf, meth=meth, pred=pred, vis=vis, seed=200, print=F, m=5, maxit=5)
long_eu<- complete(imp_eu, "long", include=TRUE)
long_eu$bmi_category<-cut(as.numeric(long_eu$bmi), breaks=c(0, 18.5, 25, 30, 72))
complete_eu<-as.mids(long_eu)

但我在分析数据时收到错误消息:

    test1<-with(imp_eu, lme(sbp~pm25_global+gender+age+education+bmi_category, random=~1|centre))
    Error in eval(expr, envir, enclos) : object 'bmi_category' not found

这是怎么发生的?

【问题讨论】:

    标签: r r-mice


    【解决方案1】:

    您正在对原始mids 对象imp_eu 运行分析,而不是在修改后的complete_eu 上运行分析。试试:

    test1<-with(complete_eu, lme(sbp~pm25_global+gender+age+education+bmi_category, random=~1|centre))
    

    【讨论】:

      猜你喜欢
      • 2021-11-23
      • 1970-01-01
      • 2022-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多