-
-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Combine multiple imputation with robust standard errors? #929
Labels
waiting for response 💌
Need more information from people who submitted the issue
Comments
Got a link to that blog post? |
Can you elaborate why it doesn't work? I just checked, and it seems fine: library(mlmRev)
library(mice)
library(dplyr)
library(clubSandwich)
library(parameters)
data(bdf)
bdf <- bdf %>%
select(schoolNR, IQ.verb, IQ.perf, sex, ses, langPRET, aritPRET, aritPOST) %>%
mutate(
schoolNR = factor(schoolNR),
sex = as.numeric(sex)
) %>%
filter(as.numeric(schoolNR) <= 30) %>%
droplevels()
bdf_missing <-
bdf %>%
select(-schoolNR) %>%
ampute(run = TRUE)
bdf_missing <-
bdf_missing$amp %>%
mutate(schoolNR = bdf$schoolNR)
Impute_bdf <- mice(bdf_missing, m = 10, meth = "norm.nob", seed = 24)
models <- lapply(1:5, function(i) {
lm(aritPOST ~ aritPRET + langPRET + sex + ses, data = mice::complete(Impute_bdf, action = i))
})
# not robust
pool_parameters(models)
#> # Fixed Effects
#>
#> Parameter | Coefficient | SE | 95% CI | Statistic | df | p
#> -------------------------------------------------------------------------------
#> (Intercept) | -2.99 | 1.12 | [-5.20, -0.78] | -2.67 | 248.73 | 0.008
#> aritPRET | 1.02 | 0.07 | [ 0.88, 1.17] | 14.19 | 98.90 | < .001
#> langPRET | 0.27 | 0.04 | [ 0.19, 0.35] | 7.01 | 67.77 | < .001
#> sex | -0.84 | 0.44 | [-1.73, 0.05] | -1.89 | 55.81 | 0.064
#> ses | 0.02 | 0.02 | [-0.02, 0.07] | 1.19 | 67.91 | 0.238
#>
#> Uncertainty intervals (equal-tailed) and p-values (two-tailed) computed
#> using a Wald distribution approximation.
# robust
pool_parameters(models, vcov = "CR2", vcov_args = list(cluster = bdf$schoolNR))
#> # Fixed Effects
#>
#> Parameter | Coefficient | SE | 95% CI | Statistic | df | p
#> -------------------------------------------------------------------------------
#> (Intercept) | -2.99 | 1.36 | [-5.66, -0.32] | -2.21 | 340.15 | 0.028
#> aritPRET | 1.02 | 0.08 | [ 0.87, 1.18] | 12.91 | 131.93 | < .001
#> langPRET | 0.27 | 0.04 | [ 0.20, 0.34] | 7.57 | 51.82 | < .001
#> sex | -0.84 | 0.50 | [-1.83, 0.15] | -1.69 | 82.89 | 0.096
#> ses | 0.02 | 0.03 | [-0.03, 0.08] | 0.82 | 203.05 | 0.413
#>
#> Uncertainty intervals (equal-tailed) and p-values (two-tailed) computed
#> using a Wald distribution approximation. Created on 2024-02-28 with reprex v2.1.0 |
strengejacke
added
the
waiting for response 💌
Need more information from people who submitted the issue
label
Feb 28, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I am looking for a way to pool multiple imputations (of
metafor
models) while using cluster-robust standard errors. Given thatparameters
does a great job at each of the two parts, I was hoping to be able to combine the functions - but that does not work.The procedure for that does not seem to be well established - so far, I only found a [blog post by James E. Pustejovsky] with code - so you might not want to include such a functionality before it is better validated ... but I still wanted to raise the suggestion.
The text was updated successfully, but these errors were encountered: