.-
help for ^bcoeff^                          
.-

Saving regression coefficients to new variable ----------------------------------------------

^bcoeff^ yvar x1var [ otherxvars ] [^if^ exp] [^in^ range] ^, by(^byvarlist^) g^enerate^(^newvar^)^ [ ^m^odel^(^model^) dxmin(^#^) > ^ ^n^min^(^#^) s^e^(^newvar^) c^ons^(^newvar^) d^ouble ^miss^ing ]

Description -----------

^bcoeff^ saves in a new variable regression coefficients (more generally, the b coefficient from a regression-like model) for each of several groups of observations.

Remarks -------

Consider a regression ^regress y x1 x2 x3^. The regression produces, among other results, the b coefficient of ^y^ on ^x1^ given ^x2^ and ^x3^. This is left behind in ^_b[x1]^.

Now consider a group variable ^g^.

. ^sort g^ . ^by g: regress y x1 x2 x3^

produces a set of regressions, one for each group defined by ^g^. The b coefficient of ^y^ on ^x1^ given ^x2^ and ^x3^ for each group is left behind in ^_b[x1]^, but overwritten by each successive regression. ^bcoeff^ picks up each b coefficient for each group and puts them in a new variable. Optionally, it also picks up the standard error of that coefficient, from ^_se[x1]^, and/or the constant (intercept) of the model, from ^_b[_cons]^.

Note that in some cases, for example in the output of ^regress^ given a constant ^y^ and a variable ^x1^, the standard error is reported as ^.^ when strictly it is ^0^. This is a misfeature of Stata. ^bcoeff^ uses the vector ^_se^, which in such cases correctly reports ^0^.

Note also that covariates may be dropped from a model, for example if the number of data points is fewer than the number of parameters to be estimated. In such cases, the b coefficient is reported as ^0^. Users may wish to use the ^nmin( )^ option to guard against this problem.

With ^bcoeff^ which variables are named first and second is crucial. The first-named variable is the response variable. The second-named variable is the covariate for which the regression coefficient is saved.

Options -------

^by(^byvarlist^)^ specifies one or more variables that define distinct groups of observations. This is a required option.

^generate(^newvar^)^ specifies a new variable to hold the regression coefficients. This is a required option.

^model(^model^)^ indicates the model command used. It defaults to ^regress^. Any model may be used that leaves behind a vector in ^_b^.

^dxmin(^#^)^ specifies a minimum required range of x1var for each group. Regressions will not be performed if the actual range is less than or equal to this. Default is 0.

^nmin(^#^)^ specifies a minimum required number of observations for each group. > Regressions will not be performed if the actual number is less than this. Default is 2.

^se(^newvar^)^ specifies a new variable to hold the standard error of each b coefficient.

^cons(^newvar^)^ specifies a new variable to hold the constant (intercept) from each model.

^double^ specifies that each variable generated is to be of type double.

^missing^ indicates that observations with missing values for byvarlist (either ^.^ or ^""^) are to be included in calculations. The default is to exclude such observations.

Examples --------

. ^bcoeff weight age, by(id) g(b)^ . ^bcoeff weight age, by(id) g(b) se(se)^

Authors -------

Zhiqiang Wang Menzies School of Health Research Darwin Australia email: wang@@menzies.edu.au Nicholas J. Cox University of Durham, U.K. email: n.j.cox@@durham.ac.uk