MR.mean {MultiRobust} | R Documentation |
Multiply Robust Estimation of the Marginal Mean
Description
MR.mean()
is used to estimate the marginal mean of a variable which is subject to missingness. Multiple missingness probability models and outcome regression models can be accommodated.
Usage
MR.mean(response, reg.model = NULL, mis.model = NULL, moment = NULL,
order = 1, data, bootstrap = FALSE, bootstrap.size = 300,
alpha = 0.05)
Arguments
response |
The response variable of interest whose marginal mean is to be estimated. |
reg.model |
A list of outcome regression models defined by |
mis.model |
A list of missingness probability models defined by |
moment |
A vector of auxiliary variables whose moments are to be calibrated. |
order |
A numeric value. The order of moments up to which to be calibrated. |
data |
A data frame with missing data encoded as |
bootstrap |
Logical. If |
bootstrap.size |
A numeric value. Number of bootstrap resamples generated if |
alpha |
Significance level used to construct the 100(1 - |
Value
mu |
The estimated value of the marginal mean. |
SE |
The bootstrap standard error of |
CI |
A Wald-type confidence interval based on |
weights |
The calibration weights if any |
References
Han, P. and Wang, L. (2013). Estimation with missing data: beyond double robustness. Biometrika, 100(2), 417–430.
Han, P. (2014). A further study of the multiply robust estimator in missing data analysis. Journal of Statistical Planning and Inference, 148, 101–110.
Examples
# Simulated data set
set.seed(123)
n <- 400
gamma0 <- c(1, 2, 3)
alpha0 <- c(-0.8, -0.5, 0.3)
X <- runif(n, min = -2.5, max = 2.5)
p.mis <- 1 / (1 + exp(alpha0[1] + alpha0[2] * X + alpha0[3] * X ^ 2))
R <- rbinom(n, size = 1, prob = 1 - p.mis)
a.x <- gamma0[1] + gamma0[2] * X + gamma0[3] * exp(X)
Y <- rnorm(n, a.x, sd = sqrt(4 * X ^ 2 + 2))
dat <- data.frame(X, Y)
dat[R == 0, 2] <- NA
# Define the outcome regression models and missingness probability models
reg1 <- glm.work(formula = Y ~ X + exp(X), family = gaussian)
reg2 <- glm.work(formula = Y ~ X + I(X ^ 2), family = gaussian)
mis1 <- glm.work(formula = R ~ X + I(X ^ 2), family = binomial(link = logit))
mis2 <- glm.work(formula = R ~ X + exp(X), family = binomial(link = cloglog))
MR.mean(response = Y, reg.model = list(reg1, reg2),
mis.model = list(mis1, mis2), data = dat)
MR.mean(response = Y, moment = c(X), order = 2, data = dat)