Bookmark and Share

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


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

st: RE: psmatch2-identifying matched pairs


From   Jeanne Sears <[email protected]>
To   [email protected]
Subject   st: RE: psmatch2-identifying matched pairs
Date   Sun, 04 Apr 2010 13:08:15 -0700

...
Since _weight holds the frequency a particular observation was used as a match (and is missing if the observation was not a control or used as a match), this may do the subsetting part of what you want:

drop if _weight==.

--
Jeanne Sears, PhD, MS, RN
Research Scientist
Department of Health Services &
Center for Healthcare Improvement for Addictions, Mental Illness
and Medically Vulnerable Populations (CHAMMP)
University of Washington
Box 354809
Seattle, WA  98195

e-mail: [email protected]



Date: Sat, 3 Apr 2010 08:03:56 -0700
From: "Ariel Linden, DrPH" <[email protected]>
Subject: st: RE: psmatch2-identifying matched pairs

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" <[email protected]>
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–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index