Learn R Programming

multilevelMatching (version 1.0.0)

multiMatch: Matching Estimators for Multiple Treatments from Yang et al. (2016).

Description

This function carries out matching on covariates or on propensity scores, and is similar to the 'legacy' functions multilevelMatchX and multilevelGPSMatch.

Usage

multiMatch(Y, W, X, trimming = NULL, match_on,
  model_options = list(reference_level = sort(W)[1]), M_matches = 1,
  J_var_matches = 1)

Arguments

Y

A response vector (1 x n)

W

A treatment vector (1 x n) with numerical values indicating treatment groups

X

A covariate matrix (p x n) with no intercept. When match_on="existing", then X must be a vector (1 x n) of user-specified propensity scores.

trimming

an indicator of whether trimming the sample to ensure overlap

match_on

User specifies "covariates" to match on raw covariates, or "existing" to match on user-supplied propensity score values, or "polr" or "multinom" to fit a propensity score model.

model_options

A list of the options to pass to propensity model. Currently under development. Can only pass reference level to multinomial logistic regression.

M_matches

Number of matches per unit for imputing potential outcomes, as in Abadie and Imbens (2006).

J_var_matches

Number of matches when estimating \(\sigma^2(X,W)\) as in Abadie and Imbens (2006).

Value

A list of output from estimateTau, including at most:

  • tauestimate: a vector of estimates for pairwise treatment effects

  • varestimate: a vector of variance estimates for tauestimate, using Abadie and Imbens (2006)'s method

  • varestimateAI2016: a vector of variance estimates for tauestimate, when matching on the generalized propensity score, using Abadie & Imbens (2016)'s method. This variance estimate takes into account of the uncertainty in estimating the GPS.

  • analysis_idx: a list containing the indices_kept (analyzed) and indices_dropped (trimmed) based on Crump et al. (2009)'s method.

References

Yang, S., Imbens G. W., Cui, Z., Faries, D. E., & Kadziola, Z. (2016) Propensity Score Matching and Subclassification in Observational Studies with Multi-Level Treatments. Biometrics, 72, 1055-1065. https://doi.org/10.1111/biom.12505

Abadie, A., & Imbens, G. W. (2006). Large sample properties of matching estimators for average treatment effects. econometrica, 74(1), 235-267. https://doi.org/10.1111/j.1468-0262.2006.00655.x

Abadie, A., & Imbens, G. W. (2016). Matching on the estimated propensity score. Econometrica, 84(2), 781-807. https://doi.org/10.3982/ECTA11293

Crump, R. K., Hotz, V. J., Imbens, G. W., & Mitnik, O. A. (2009). Dealing with limited overlap in estimation of average treatment effects. Biometrika, 96(1), 187-199. https://doi.org/10.1093/biomet/asn055

See Also

multilevelMatchX; multilevelGPSMatch

Examples

Run this code
# NOT RUN {
  sim_data <- multilevelMatching::simulated_data
  Y <- sim_data$outcome
  W <- sim_data$treatment
  X <- as.matrix(sim_data[ ,-(1:2)])
  names(Y) <- paste0("ID", 1:length(Y))

  trimming <- FALSE
  method <- c("covariates", "polr", "multinom")[2]

  multiMatch(Y,W,X,trimming=trimming,match_on=method)


# }

Run the code above in your browser using DataLab