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, is already up and running.

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

AW: AW: st: PSMATCH with 2 conditions

From   "Mihai-Andrei Popescu-Greaca" <>
To   <>
Subject   AW: AW: st: PSMATCH with 2 conditions
Date   Mon, 20 Sep 2010 23:50:46 +0200

Dear Judson,

Just tried out the multiplication with 10 and 1000 on the nlswork dataset,
and again, the T-values are different (without bootstrapping). When I use
pscore2 (multiplication with 10) I get a T of 9.16, Difference is .102809747
and SE is .011229545. Using pscore3 (*1000) yields a T of 4.02, a Difference
of .092227641 and a SE of .02294341.

The only explanation I came up with is that (my) Stata "looses" decimals
with each multiplication or performs a "mysterious" round-up. I.e. if my
initial pscore is 0.28732124 (like row 3 in the dataset), then the pscore2
is 720.28729 and the pscore3 is 72000.287. IF my theory holds, then by
multiplying with a huge number, all decimals should disappear. I generated a
pscore4 (*1000000) and now I only see 72000000, but T is still 4.72,
Difference is .263281083 and SE .055774089, hence this doesn't make sense

I'm using Stata 11.1..I really don't know what else can be wrong..:(((((

PS: I exported the data to excel, and only the "short" numbers get exported
(i.e. 72000.287, and NOT 72*1000+0.287321424)


-----Ursprüngliche Nachricht-----
[] Im Auftrag von Caskey, Judson
Gesendet: Montag, 20. September 2010 17:48
Betreff: re: AW: st: PSMATCH with 2 conditions


I was unable to replicate the problem. Can you try replicating it on one of
the public datasets and send an example?

Here is what I tried:

webuse nlswork
logit union collgrad age tenure not_smsa c_city south nev_mar
predict pscore if e(sample), pr
gen pscore2=year*10+pscore 
gen pscore3=year*1000+pscore
psmatch2 union, pscore(pscore2) outcome(ln_wage) caliper(0.5) 
psmatch2 union, pscore(pscore3) outcome(ln_wage) caliper(0.5)

I get the same results in both of the psmatch2 calls. The issue may be with
the bootstrapping procedure rather than with the call to psmatch2, itself.




Hi Judson,

thanks for the great tip & sorry for the late reply but I've been pretty
busy lately.

One thing though:
My industry is only 2 digit, so if I only want to match by industry, I just
multiply industry by 10 and then add the pscore, as follows:
gen pscore2=3-digit-industry*10+pscore
And then psmatch2 as indicated by you in the link.
THE PROBLEM occurred when I used 1000 instead of 10, and then 100000 instead
of 1000; ALL 3 yielded different results (T & Z-scores when bootstrapping

Do you have an explanation for the different results??


*   For searches and help try:

*   For searches and help try:

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