You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
** Describe the issue:
I am trying to use the function mice.impute.quadratic in a binomial model. The function works when the outcome "y" is specified as a continuous variable but as soon as I specify it as a factor, I get an error. Is this function applicable for this scenario or is this a bug?
Please look at the following reproducible example
Thank you very much
Johanna
To Reproduce
Create data
N <- 500
Beta <- c(-2.3365665,0.8569439,0.3011304)
X <- runif(n=N, min=-3, max=3)
XX <- X^2
linear <- plogis(Beta[[1]]+Beta[[2]]*X + Beta[[3]]*XX)
Y <- rbinom(n = N, size = 1, prob = linear)
ID <- 1:N
iter imp variable1 1 xError in mice.impute.quadratic(y = c(-2.00387528445572, -0.957946232054383, : The name specified for the outcome in 'quad.outcome' can not be found in the data
The text was updated successfully, but these errors were encountered:
Also when I tried to do it with the "smcfcs" method. I don't get correctly imputed values for y, (I get values out of 0 or 1) as you can see here
data_inc$x_sq<-NULL
imp<- mice::mice(data_inc, method="smcfcs", sm= y ~ x + I(x^2), m=5, maxit=10, smtype="logistic")
summary(complete(imp,1))
However if I use Professor Barletts "smcfcs" package I get consistent imputed y values.
data_inc$x_sq <- data_inc$x^2
nonmice <- smcfcs::smcfcs(data_inc, smtype="logistic", smformula=y ~ x + x_sq, method=c("norm", "", "", "x^2"))$impDatasets
summary(nonmice[[1]]).
If you could show me what my error is or guide me on how to use the "quadratic "or "smcfcs "method properly I would appreciate it very much since I need to use the mice.mids function that does not work with outputs from the smcfcs package. Thank you very much Johanna
Dear all,
** Describe the issue:
I am trying to use the function mice.impute.quadratic in a binomial model. The function works when the outcome "y" is specified as a continuous variable but as soon as I specify it as a factor, I get an error. Is this function applicable for this scenario or is this a bug?
Please look at the following reproducible example
Thank you very much
Johanna
To Reproduce
Create data
N <- 500
Beta <- c(-2.3365665,0.8569439,0.3011304)
X <- runif(n=N, min=-3, max=3)
XX <- X^2
linear <- plogis(Beta[[1]]+Beta[[2]]*X + Beta[[3]]*XX)
Y <- rbinom(n = N, size = 1, prob = linear)
ID <- 1:N
dat <- data.frame(x = X, xx = XX, y = Y, ID = ID)
Ampute
patterns = rbind(c( 1, 1, 0, 1), c(0, 0, 1, 1), c(0, 0, 0, 1)) # (0=missing, 1=observed)
freq = c(1/3, 1/3,1/3) # ocurrence of patterns
mech = c("MAR")
weights = ampute.default.weights(patterns, mech) # Weights of weighted sum scores
data_inc <- ampute(data = dat,
patterns = patterns,
prop = prop, #Percentage of missing cells
freq = freq,
mech = mech,
weights=weights)$amp
Prepare data for imputation
ini <- mice(data_inc, maxit = 0)
meth <- c("quadratic", "~I(x^2)", "logreg","")
pred <- ini$pred
pred["x", "xx"] <- 0
Impute data with y as continuous
imp <- mice(data_inc, meth = meth, pred = pred, quad.outcome = "y")
Warning message:Type mismatch for variable(s): y Imputation method logreg is for categorical data.
Impute data with y as factor
data_inc $y<- as.factor(data_inc$y)
imp <- mice(data_inc, meth = meth, pred = pred, quad.outcome = "y")
iter imp variable1 1 xError in mice.impute.quadratic(y = c(-2.00387528445572, -0.957946232054383, : The name specified for the outcome in 'quad.outcome' can not be found in the data
The text was updated successfully, but these errors were encountered: