Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, statalist.org is already up and running.


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

st: RE: psmatch2-identifying matched pairs


From   "Ariel Linden, DrPH" <ariel.linden@gmail.com>
To   <statalist@hsphsun2.harvard.edu>
Subject   st: RE: psmatch2-identifying matched pairs
Date   Sat, 3 Apr 2010 08:03:56 -0700

Garth

Per your question about ATE and dropped matches: That makes intuitive sense
since the ATE represents the average treatment effect in the population.
Therefore, you would need to have the outcome values of the entire
population, not just the subset of matched controls. As a result, you would
no longer have 1:1 matches.

Ariel

Date: Fri, 2 Apr 2010 13:57:53 -0500
From: "Garth Rauscher" <garthr@uic.edu>
Subject: st: RE: RE: psmatch2-identifying matched pairs

I managed to figure out how to identify and subset my data to include only
the matched pairs created by psmatch2. What was (and still is) confusing me
was that if I included the ate option, some of the matched pairs were
"broken" and a member of the pair was no longer identified as such. I don't
understand why this happened, but, nonetheless for my purposes, leaving off
the ate option allowed the following code to work: 

- ---------------------------------------------------------------------
psmatch2 path2, pscore(p_prodterms) outcome(binarystage) caliper(.001)
noreplace neighbor(1)

gen pair = _id if _treated==0 
replace pair = _n1 if _treated==1
bysort pair: egen paircount = count(pair)
drop if paircount !=2
- ---------------------------------------------------------------------

This code creates the variable pair that identifies the matched pairs.


I forgot to mention- Hat tip to the authors of psmatch2 for providing this
partial solution...

- ------------------------------------------------------------------------
The following code:

gen pair = _id if _treated==0 
replace pair = _n1 if _treated==1

creates a variable that identifies the matched pairs but also includes those
within the region of support who are not included in a matched pair. I
cannot figure out how to drop those observations that are not part of a
matched pair. Any help would be appreciated.

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index