Dear Edwin,
I've just started using your and Barbara's -psmatch2-. Unfortunately I
seem to have hit an error running the program that is inexplicable to
me: see below. I am a novice at the matching game, so may have
committed some basic mistake -- in which case tell me. :) But, if not,
I'd be interested in your comments and suggestions about the following.
. psmatch2 man age edq* if hhsize == 1 & age > 17 & age < 59
Probit estimates Number of obs = 4936
LR chi2(7) = 79.57
Prob > chi2 = 0.0000
Log likelihood = -3358.7944 Pseudo R2 = 0.0117
------------------------------------------------------------------------------
man | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | -.0127112 .0017197 -7.39 0.000 -.0160818 -.0093406
edq0 | .0435198 .1366683 0.32 0.750 -.2243451 .3113846
edq1 | -.0652628 .1455057 -0.45 0.654 -.3504488 .2199232
edq2 | -.2005075 .1350892 -1.48 0.138 -.4652775 .0642625
edq3 | -.0388344 .1352087 -0.29 0.774 -.3038385 .2261697
edq4 | .0508258 .1326242 0.38 0.702 -.2091129 .3107644
edq5 | -.1211298 .1337885 -0.91 0.365 -.3833505 .1410908
_cons | .6478857 .1409365 4.60 0.000 .3716552 .9241163
------------------------------------------------------------------------------
There are control observations with identical propensity score values.
The sort order of the data could affect your results.
Make sure that the sort order is random before calling psmatch2.
Matching Method: neighbor, Metric: pscore
_ ambiguous abbreviation
could not restore sort order because variables were dropped
r(111);
. de _*
storage display value
variable name type format label variable label
-------------------------------------------------------------------------------
_pscore double %10.0g psmatch2: Propensity Score
_treated float %22.0g _treated psmatch2: Treatment assignment
_weight double %10.0g psmatch2: # Matches per obs.
_n1 float %9.0g psmatch2: ID of nearest neighbor
_id float %9.0g psmatch2: Identifier (ID)
_pdif double %10.0g psmatch2: abs(pscore -
pscore[nearest neighbor])
-set trace on- shows that the error comes as follows in the program
code:
}
- qui replace _treated = -1 if `treat'==0 & _treated==2
- qui replace _weight = . if _treated==2 | _weight==0
- qui replace _`outcome' = . if !inlist(_treated,0,1)
_ ambiguous abbreviation
could not restore sort order because variables were dropped
r(111);
I get the same error regardless of whether the original sort order is
randomised or not. I also got the same error when using just "age"
rather than "age edq*" in the indepvars list.
TIA
regards
Stephen
----------------------
Professor Stephen P. Jenkins <[email protected]>
Institute for Social and Economic Research (ISER)
University of Essex, Colchester, CO4 3SQ, UK
Tel: +44 (0)1206 873374. Fax: +44 (0)1206 873151.
http://www.iser.essex.ac.uk
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/