I am new to R and MatchIt and am having trouble with achieving the best
balance. I used Amelia to impute missing data, and am now attempting to
employ MatchIt to create a matched dataset for further analysis using an
ordered probit model.
First, I should note that the number of treated units exceeds the number of
control units. It is time-series cross-section data.
I employed nearest neighbor matching, and have added arguments for matching
with replacement, with a caliper of 0.25. When I obtain a summary of
balance for the data, I find that for numerous x variables the percent
balance improvement is large and positive (97% for the propensity score,
from 20-80% for other variables). However, for 3 X variables the percent
balance improvement is negative, and in some cases rather large.
I have read the documentation, am following all the examples I can find,
and have searched the archives for posts on this subject, but have not
found any guidance on what I may be doing wrong.
I would greatly appreciate any help provided.
Best,
Maureen
I am researching the best method for taking imputations done in Amelia (I
have 5 datasets), employing MatchIt, and then using either STATA or zelig()
to do the analyses. I read an older post (2011) that said there was not an
automated procedure. Therefore, one must multiply impute the data, do
matching on each imputed data set, then combine the data in zelig() using
the mi() function. Is this still the case? Also, am I correct that I can
combine the data in STATA as well, and get the same results?
Thank you,
Maureen
Hello, I would like to use the MatchIt() package to 2:1 propensityscore match my control and treatment groups in a retrospective, observationalanalysis. I have tried using the nearest neighbor method using the below call: m.out <- matchit (treat ~ x, data = data, method ="nearest", discard = "both", caliper = 0.2, ratio = 2) However, when I apply the caliper argument to the function,it allows 1:1 matches to occur, such that my final matched cohorts are not 2:1matched. For example, if I start with 80 treatment and 200 control units, mymatched cohort may then include 62 treatment and 94 control units (rather than 124control units). It appears that when used with a caliper, the ratio argument uses<= 2, rather than =2. Is there a way to enforce all treatments be matchedwith exactly two controls, therebydiscarding those with only one match within the specified caliper? I have alternatively tried to use full matching, which wouldbe my preferred method. The min.controls and max.controls argument nicelyrequires a 2:1 match, but I am struggling with the syntax for the caliper argument,as neither of the below calls produces the desired result:m.out <- matchit(treat ~ x, data = data, method ="full", discard = "both", min.controls=2, max.controls=2,caliper=0.2) m.out <- matchit(treat ~ x, data = data, method ="full", discard = "both", min.controls=2, max.controls=2) +caliper(match_on(psLM), width=0.2) For reference, I am using R version 3.1.1 (2014-07-10)MatchIt version 2.4-21 (2013-06-27). I welcome any input that anyone is able toprovide. Thank you in advance for your help!
Julie Prillinger, PhDPrincipal Scientist St. Jude MedicalDirect +1 408 522 6142Mobile +1 650 269 9832
Sorry for the multiple posts. I am reposting the message as the formatting
didn't appear right.
Given the following notation, do I calculate the ATE weights as below?
Notation:
n = overall sample size,
ni = sample size within stratum i,
nt = no. of treatment subjects in overall sample,
nc = no. of comparison subjects in overall sample,
nti = no. of treatment subjects within stratum i, and
nci = no. of comparison subjects within stratum i.
Is the ATE weights for the treatment and subject in stratum i respectively:
ATEweight_ti = ( ni / nti ) * (nt / n )
ATE weight_ci = ( ni / nci ) * (nc / n )?
By extension, would this also be the way to calculate the ATE weights after
subclassification?
Many thanks,
Yi Xe