Dear Statalisters:
For some reason I cannot get -by- to work with -binreg-. I can get around
the problem using -if-, but according to the manual I should be able to use
-by-. Here is my log:
. table pre_post sex, c(mean q7cat)
------------------------------
| sex
pre_post | F M
----------+-------------------
pre | .3238095 .4953271
post | .6 .6296296
------------------------------
* Both sexes together
. binreg q7cat pre_post, rd cluster(id)
Iteration 1 : deviance = 570.9529
Iteration 2 : deviance = 570.9529
Residual df = 423 No. of obs =
425
Pearson X2 = 425 Deviance =
570.9529
Dispersion = 1.004728 Dispersion =
1.349771
Bernoulli distribution, identity link
Risk difference coefficients
(standard errors adjusted for clustering on
id)
----------------------------------------------------------------------------
--
| Semi-Robust
q7cat | Coef. Std. Err. z P>|z| [95% Conf.
Interval]
-------------+--------------------------------------------------------------
--
pre_post | .2046461 .0391639 5.23 0.000 .1278862
.281406
_cons | .2057312 .0651479 3.16 0.002 .0780438
.3334187
----------------------------------------------------------------------------
--
* Try to get separate estimates by sex
. bysort sex: binreg q7cat pre_post, rd cluster(id)
____________________________________________________________________________
___
-> sex = F
Iteration 1 : deviance = 570.9529
Iteration 2 : deviance = 570.9529
Residual df = 423 No. of obs =
425
Pearson X2 = 425 Deviance =
570.9529
Dispersion = 1.004728 Dispersion =
1.349771
Bernoulli distribution, identity link
Risk difference coefficients
(standard errors adjusted for clustering on
id)
----------------------------------------------------------------------------
--
| Semi-Robust
q7cat | Coef. Std. Err. z P>|z| [95% Conf.
Interval]
-------------+--------------------------------------------------------------
--
pre_post | .2046461 .0391639 5.23 0.000 .1278862
.281406
_cons | .2057312 .0651479 3.16 0.002 .0780438
.3334187
----------------------------------------------------------------------------
--
____________________________________________________________________________
___
-> sex = M
Iteration 1 : deviance = 570.9529
Iteration 2 : deviance = 570.9529
Residual df = 423 No. of obs =
425
Pearson X2 = 425 Deviance =
570.9529
Dispersion = 1.004728 Dispersion =
1.349771
Bernoulli distribution, identity link
Risk difference coefficients
(standard errors adjusted for clustering on
id)
----------------------------------------------------------------------------
--
| Semi-Robust
q7cat | Coef. Std. Err. z P>|z| [95% Conf.
Interval]
-------------+--------------------------------------------------------------
--
pre_post | .2046461 .0391639 5.23 0.000 .1278862
.281406
_cons | .2057312 .0651479 3.16 0.002 .0780438
.3334187
----------------------------------------------------------------------------
--
* Since that gave the same results as if I hadn't used
* -by- at all, try -if- instead
. binreg q7cat pre_post if sex=="M", rd cluster(id)
Iteration 1 : deviance = 290.7011
Iteration 2 : deviance = 290.7011
Residual df = 213 No. of obs =
215
Pearson X2 = 215 Deviance =
290.7011
Dispersion = 1.00939 Dispersion =
1.364794
Bernoulli distribution, identity link
Risk difference coefficients
(standard errors adjusted for clustering on
id)
----------------------------------------------------------------------------
--
| Semi-Robust
q7cat | Coef. Std. Err. z P>|z| [95% Conf.
Interval]
-------------+--------------------------------------------------------------
--
pre_post | .1343025 .0536422 2.50 0.012 .0291657
.2394394
_cons | .3610246 .0910578 3.96 0.000 .1825546
.5394945
----------------------------------------------------------------------------
--
. binreg q7cat pre_post if sex=="F", rd cluster(id)
Iteration 1 : deviance = 273.5711
Iteration 2 : deviance = 273.5711
Residual df = 208 No. of obs =
210
Pearson X2 = 210 Deviance =
273.5711
Dispersion = 1.009615 Dispersion =
1.315246
Bernoulli distribution, identity link
Risk difference coefficients
(standard errors adjusted for clustering on
id)
----------------------------------------------------------------------------
--
| Semi-Robust
q7cat | Coef. Std. Err. z P>|z| [95% Conf.
Interval]
-------------+--------------------------------------------------------------
--
pre_post | .2761905 .0566061 4.88 0.000 .1652445
.3871365
_cons | .047619 .0911676 0.52 0.601 -.1310661
.2263042
----------------------------------------------------------------------------
--
* Suppose I use -regress- instead of -binreg-. Then can I use -by-?
. by sex: regress q7cat pre_post, cluster(id)
____________________________________________________________________________
___
-> sex = F
Regression with robust standard errors Number of obs =
210
F( 1, 104) =
23.69
Prob > F =
0.0000
R-squared =
0.0767
Number of clusters (id) = 105 Root MSE =
.48134
----------------------------------------------------------------------------
--
| Robust
q7cat | Coef. Std. Err. t P>|t| [95% Conf.
Interval]
-------------+--------------------------------------------------------------
--
pre_post | .2761905 .0567421 4.87 0.000 .1636688
.3887121
_cons | .047619 .0913865 0.52 0.603 -.1336038
.2288419
----------------------------------------------------------------------------
--
____________________________________________________________________________
___
-> sex = M
Regression with robust standard errors Number of obs =
215
F( 1, 108) =
6.24
Prob > F =
0.0140
R-squared =
0.0183
Number of clusters (id) = 109 Root MSE =
.49378
----------------------------------------------------------------------------
--
| Robust
q7cat | Coef. Std. Err. t P>|t| [95% Conf.
Interval]
-------------+--------------------------------------------------------------
--
pre_post | .1343025 .053768 2.50 0.014 .027725
.2408801
_cons | .3610246 .0912713 3.96 0.000 .1801091
.5419401
----------------------------------------------------------------------------
--
So in this case -regress- works with -by-, but -binreg- does not. I also
have sex as a numeric variable, but that doesn't alleviate the non-working
-by- (NPI). Any ideas?
Regards,
Lee
Lee Sieswerda, Epidemiologist
Thunder Bay District Health Unit
999 Balmoral Street
Thunder Bay, Ontario
Canada P7B 6E7
Tel: +1 (807) 625-5957
Fax: +1 (807) 623-2369
[email protected]
www.tbdhu.com
*
* 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/