multiple imputation and propensity scores I have a dataset with 1300 observations and 30 variables. One of the variables has 10% missing data, another has 5% and a third has 3%. Seeing Propensity score matching after multiple imputation I created an averaged propensity score based on the imputed data from MICE. Also based on the work by Mitra et al . 
Now I need to


*

*do the matching procedure - preferably I´d like to use MatchIt, but it does not allow the propensity score to be pre-generated which is needed because of the averaging in the prior step. I can do it in Matching - However, I´m not very familiar with it. Does anyone know if a pre-generated propensity score can be used in MatchIt?

*I need to supply some proof that the matched groups are similar with regards to the covariates used in the generated propensity score. However, how can this be done is uncertain since the generated propensity score is based on multiple imputed datasets? Would it be OK just to average the imputed values and generated an 'averaged' imputed dataset and use this for the balance check?

 A: My understanding is that you should generate individual propensity score models for each data set, then match, then estimate outcomes, then combine the estimates into one.
1) Match() in Matching accepts a user's own propensity score (include it as the X parameter in the call to Match(). matchit() in MatchIt does the same. I also recommend you try propensity score weighting; the package twang allows users to enter their own propensity scores/weights and then assess balance. The twang vignette explains how to do this and estimate a treatment effect.
2) Typically for balance assessment reporting, you assess balance on each dataset individually and then report maximum imbalance for each covariate across the imputed data sets. Do not average your imputed data sets. If across the imputed datasets the maximum imbalance of each covariates is within an acceptable range (e.g., ASMD <.1), that should be good enough evidence that you have achieved balance and can move forward.
A: As I previously stated, instead of doing propensity matching it can be reasonable to use inverse probability of treatment weighting after missing data imputation.
Suitable Stata examples follow:
clear all
webuse mheart5 
*dataset

replace smokes = . in 20/70
*creates missing values for smokes variable in observations 20 to 70

mi set mlong 
mi register imputed age bmi smokes
set seed 29390
mi impute mvn age bmi smokes = attack hsgrad female, add(10)
*missing data imputation creating 10 imputed datasets

replace smokes=round(smokes,1)
replace smokes = 1 if smokes >=1 
replace smokes = 0 if smokes <=0 
*rounding to transform smokes variables into a binary one

set seed 54321
generate randomvar = runiform()
gsort randomvar
*random sorting of the data

psmatch2 smokes age bmi female hsgrad, noreplace logit 
gen iptw = 1/(1-_pscore) if smokes == 0
replace iptw = 1/(_pscore) if smokes == 1
*generation of inverse probability of treatment weighting

mi estimate: glm attack smokes [pweight = iptw], family(binomial) link(identity) vce(robust)
*inverse probability of treatment weighting analysis for dichotomous endpoint after multiple imputation

*---

clear all
webuse stan3
*dataset

replace age = . in 20/70
replace transplant = . in 40/90
*creates missing values for age variable in observations 20 to 70 and transplant variable in observations 40 to 90

mi set mlong 
mi register imputed age transplant
set seed 54321
mi impute mvn age transplant = year died stime surgery wait posttran, add(10)
*missing data imputation creating 10 imputed datasets

replace transplant=round(transplant,1)
replace transplant = 1 if transplant >=1 
replace transplant = 0 if transplant <=0 
*rounding to transform transplant variable into a binary one

set seed 54321
generate randomvar = runiform()
gsort randomvar
*random sorting of the data

psmatch2 surgery year age transplant wait posttran, noreplace logit 
gen iptw = 1/(1-_pscore) if surgery == 0
replace iptw = 1/(_pscore) if surgery == 1
*generation of inverse probability of treatment weighting

mi stset stime [pweight = iptw], failure(died) scale(1)
mi estimate: stcox surgery
*inverse probability of treatment weighting analysis for censored endpoint after multiple imputation 

mi estimate: glm stime surgery [pweight = iptw], family(gaussian) link(identity) vce(robust)
*inverse probability of treatment weighting analysis for continuous endpoint after multiple imputation 

