2017-03-24 6 views
0

私は、複数の帰属を持つ欠損値を処理し、混合線形モデルで分析することを目指しました。R:パッシブ補完のMICEパッケージ

「BMI」(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カテゴリーは」私の転嫁の予測因子ではないので、私が帰属した後、それを作成することを決めました。方法および予測因子

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) 

を定義するには
1.しかし、私のデータを分析するとき、私は、エラーを受け取った:そして、詳細は以下のとおりです

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 

どのようにこれが起こるのでしょうか?

答えて

0

ではなく、midsオブジェクトimp_euの解析を実行しています。試してください:

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