I'm using MatchIt to match based on propensity score and then I'm checking the standardized difference. I tried to manually calculate the standardized difference for some of my matching variables and I'm not getting the same results as the output of the model.
#run the model
ps<-matchit(y ~ ., data=mydata, method = "nearest", distance = "logit")
#store the results as a data frame
comp <- as.data.frame(summary(ps, standardize = TRUE)["sum.matched"])
#print the results
comp[, "sum.matched.Std..Mean.Diff." , drop=FALSE]
My question here is: Does anyone know the formula to manually calculate the standardized differences that is used in the matchIt package? I'm interested in the formula for standardized difference in means and in proportions (are they different? Maybe that's why)
I have the same problem and I think the formula that MatchIt uses is different than the most commonly used one.
According to Ho et al.'s article (http://imai.princeton.edu/research/files/matchit.pdf) "the standardize = TRUE option will print out standardized versions of the balance measures, where the mean difference is standardized (divided) by the standard deviation in the original treated group."
So the denominator in the package's formula should be s(treated), instead of the square root of s(treated)^2+s(control)^2.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With