Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: psmatch2: set restrictions on controls for matching?

From   Jérôme Sansonetti <>
Subject   st: psmatch2: set restrictions on controls for matching?
Date   Sat, 11 Aug 2012 03:31:11 +0200

Dear all,

Here are two questions I have been dying to find the answer to...
Thanks in advance!

1/ I am trying to run propensity score matching with nearest neighbor,
and in order to do that I generated a treatment dummy ("Treatment")
equal to 1 if the observation received the treatment, and 0 otherwise.
I also have a list of covariates on which I would like to compute the
propensity score ("Education"; "Wage"; "Experience").

Here is where the problem comes in. I have another variable available
for the treated and the untreated: "Region" (categorical variable
ranging from 1 to 10). I would like to make sure that when the nearest
neighbor is picked from the untreated, it comes from the same region
as the treated observation that is being matched.

Here are possible solutions that I have discarded, would you let me
know what you think of them, and if you can suggest other ones?
- adding "Region" to the list of independent variables on which the
propensity score is calculated ("Education"; "Wage"; "Experience")
would not solve the problem, I believe. Indeed, for the treated
observation and its matched untreated to come from the same region is
an absolute necessity, not just one variable among others that is used
to minimize the distance between the treated observation and the
possible controls.
- separating the sample into 10 groups (as many as there are regions),
and run 10 different propensity score matchings. However, then I can't
see how I could get the ATT and its significance for the whole treated

2/ I noticed that it is possible to add an "if" expression to the
psmatch2 command. Does anyone know what the "if" refers to? Does it
refer to the way that the whole pool of observations (treated and
untreated) are selected? Or to how the matching between treated and
untreated is done? Ideally, I was hoping there would be a way to
specify that I would like the region of the treated to be the same as
the region for the untreated ;)

Thank you very much for your insights, wish everyone a great weekend!

*   For searches and help try:

© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index