Hi,
I am using Stata 13 and use teffects psmatch to undergoe propensity score matching. My question is the following: Can I restrict a matching on certain conditions?
Here is an example:
I use a given dataset and generate two fictive indicators ind_1 and ind_2. I than calculate the propensity score based on x1 and x2 and the ATE based on a nearest neighbour matching and require at least 3 matches. I did not include ind_1 and ind_2 in the matching - I do that in a second step. the gen() obition allows me to identify which observations get matched. For example in the first case, observation 1 with observations 218, 356, and 467, and in the second case observation 1 with observations 218, 247 , and 467.
However (and rightfully so, since ind_1 and ind_2 are entirely random), observations are matched with differing indicators (see below).
Is there a way to ensure that the treatment and control exactly match on certain criteria?
Best and thanks,
/R
I am using Stata 13 and use teffects psmatch to undergoe propensity score matching. My question is the following: Can I restrict a matching on certain conditions?
Here is an example:
Code:
clear use http://ssc.wisc.edu/sscc/pubs/files/psm, replace set seed 42 gen ob=_n gen ind_1 = round(runiform()*2)+1 gen ind_2 = round(runiform()*2)+1 teffects psmatch (y) (t x1 x2), nn(3) gen(match) list ind_1 ind_2 if ob==1 | ob==467 | ob==356 | ob==218 teffects psmatch (y) (t x1 x2 ind_1 ind_2), nn(3) gen(_match) list ind_1 ind_2 if ob==1 | ob==467 | ob==247 | ob==218
However (and rightfully so, since ind_1 and ind_2 are entirely random), observations are matched with differing indicators (see below).
Code:
+---------------+ | ind_1 ind_2 | |---------------| 1. | 1 1 | 218. | 1 2 | 247. | 3 2 | 467. | 1 2 | +---------------+
Best and thanks,
/R
Comment