Skip to content
Prev 178309 / 398506 Next

Multiple Imputation in mice/norm

Le vendredi 24 avril 2009 ? 14:11 -0700, ToddPW a ?crit :
You may do that by writing your own imputation function and assign them
for the imputation of particular variable (see argument
"imputationMethod" and details in the man page for "mice").
In the function amelia (package "Amelia"), you might specify a "bounds"
argument, which allows for such a limitation. However, be aware that
this might destroy the basic assumption of Amelia, which is that your
data are multivariate normal. Maybe a change of variable is in order (e.
g. log(concentration) has usually much better statistical properties
than concentration).

Frank Harrell's aregImpute (package Hmisc) has the "curtail" argument
(TRUE by default) which limits imputations to the range of observed
values.

But if your left-censored variables are your dependent variables (not
covariates), may I suggest to analyze these data as censored data, as
allowed by Terry Therneau's "coxph" function (package "survival") ? code
your "missing" data as such a variable (use :
coxph(Surv(min(x,<yourlimit>,na.rm=TRUE),
           !is.na(x),type="left")~<Yourmodel>) to do this on-the-fly).

Another possible idea is to split your (supposedly x) variable in two :
observed (logical), and value (observed value if observed, <detection
limit> if not) and include these two data in your model. You probably
will run into numerical difficulties due to the (built-in total
separation...).

HTH,

					Emmanuel Charpentier