This function "pools" (i.e. combines) multiple estimate_means
objects, in
a similar fashion as mice::pool()
.
Arguments
- x
A list of
estimate_means
objects, as returned byestimate_means()
, orestimate_predicted
, as returned byestimate_relation()
and related functions.- transform
A function applied to predictions and confidence intervals to (back-) transform results, which can be useful in case the regression model has a transformed response variable (e.g.,
lm(log(y) ~ x)
). For Bayesian models, this function is applied to individual draws from the posterior distribution, before computing summaries. Can also beTRUE
, in which caseinsight::get_transformation()
is called to determine the appropriate transformation-function.- ...
Currently not used.
Details
Averaging of parameters follows Rubin's rules (Rubin, 1987, p. 76).
Pooling is applied to the predicted values on the scale of the linear predictor,
not on the response scale, in order to have accurate pooled estimates and
standard errors. The final pooled predicted values are then transformed to
the response scale, using insight::link_inverse()
.
References
Rubin, D.B. (1987). Multiple Imputation for Nonresponse in Surveys. New York: John Wiley and Sons.
Examples
# example for multiple imputed datasets
data("nhanes2", package = "mice")
imp <- mice::mice(nhanes2, printFlag = FALSE)
predictions <- lapply(1:5, function(i) {
m <- lm(bmi ~ age + hyp + chl, data = mice::complete(imp, action = i))
estimate_means(m, "age")
})
pool_predictions(predictions)
#> Estimated Marginal Means
#>
#> age | Mean | SE | 95% CI | t(1)
#> --------------------------------------------
#> 20-39 | 30.54 | 1.67 | [9.38, 51.71] | 29.23
#> 40-59 | 24.83 | 1.55 | [5.16, 44.50] | 22.84
#> 60-99 | 23.15 | 1.71 | [1.48, 44.82] | 17.44
#>
#> Variable predicted: bmi
#> Predictors modulated: age
#> Predictors averaged: hyp, chl (1.9e+02)
#>