**[R] logistic** -- Logistic regression, reporting odds ratios

__Syntax__

**logistic** *depvar* *indepvars* [*if*] [*in*] [*weight*] [**,** *options*]

*options* Description
-------------------------------------------------------------------------
Model
__nocons__**tant** suppress constant term
__off__**set(***varname***)** include *varname* in model with coefficient
constrained to 1
**asis** retain perfect predictor variables
__const__**raints(***constraints***)** apply specified linear constraints
__col__**linear** keep collinear variables

SE/Robust
**vce(***vcetype***)** *vcetype* may be **oim**, __r__**obust**, __cl__**uster**
*clustvar*, __boot__**strap**, or __jack__**knife**

Reporting
__l__**evel(***#***)** set confidence level; default is **level(95)**
**coef** report estimated coefficients
__nocnsr__**eport** do not display constraints
*display_options* control columns and column formats, row
spacing, line width, display of omitted
variables and base and empty cells, and
factor-variable labeling

Maximization
*maximize_options* control the maximization process; seldom
used

__coefl__**egend** display legend instead of statistics
-------------------------------------------------------------------------
*indepvars* may contain factor variables; see fvvarlist.
*depvar* and *indepvars* may contain time-series operators; see tsvarlist.
**bayes**, **bootstrap**, **by**, **fp**, **jackknife**, **mfp**, **mi estimate**, **nestreg**, **rolling**,
**statsby**, **stepwise**, and **svy** are allowed; see prefix. For more details,
see **[BAYES] bayes: logistic**.
**vce(bootstrap)** and **vce(jackknife)** are not allowed with the **mi estimate**
prefix.
Weights are not allowed with the **bootstrap** prefix.
**vce()** and weights are not allowed with the **svy** prefix.
**fweight**s, **iweight**s, and **pweight**s are allowed; see weight.
**coeflegend** does not appear in the dialog box.
See **[R] logistic postestimation** for features available after estimation.

__Menu__

**Statistics > Binary outcomes > Logistic regression**

__Description__

**logistic** fits a logistic regression model of *depvar* on *indepvars*, where
*depvar* is a 0/1 variable (or, more precisely, a 0/non-0 variable).
Without arguments, **logistic** redisplays the last **logistic** estimates.
**logistic** displays estimates as odds ratios; to view coefficients, type
**logit** after running **logistic**. To obtain odds ratios for any covariate
pattern relative to another, see **[R] lincom**.

See logistic estimation commands for a list of related estimation
commands.

__Options__

+-------+
----+ Model +------------------------------------------------------------

**noconstant**, **offset(***varname***)**, **constraints(***constraints***)**, **collinear**; see **[R]**
**estimation options**.

**asis** forces retention of perfect predictor variables and their associated
perfectly predicted observations and may produce instabilities in
maximization; see **[R] probit**.

+-----------+
----+ SE/Robust +--------------------------------------------------------

**vce(***vcetype***)** specifies the type of standard error reported, which
includes types that are derived from asymptotic theory (**oim**), that
are robust to some kinds of misspecification (**robust**), that allow for
intragroup correlation (**cluster** *clustvar*), and that use bootstrap or
jackknife methods (**bootstrap**, **jackknife**); see **[R] ***vce_option*.

+-----------+
----+ Reporting +--------------------------------------------------------

**level(***#***)**; see **[R] estimation options**.

**coef** causes **logistic** to report the estimated coefficients rather than the
odds ratios (exponentiated coefficients). **coef** may be specified when
the model is fit or may be used later to redisplay results. **coef**
affects only how results are displayed and not how they are
estimated.

**nocnsreport**; see **[R] estimation options**.

*display_options*: **noci**, __nopv__**alues**, __noomit__**ted**, **vsquish**, __noempty__**cells**,
__base__**levels**, __allbase__**levels**, __nofvlab__**el**, **fvwrap(***#***)**, **fvwrapon(***style***)**,
**cformat(***%fmt***)**, **pformat(%***fmt***)**, **sformat(%***fmt***)**, and **nolstretch**; see **[R]**
**estimation options**.

+--------------+
----+ Maximization +-----------------------------------------------------

*maximize_options*: __dif__**ficult**, __tech__**nique(***algorithm_spec***)**, __iter__**ate(***#***)**,
[__no__]__lo__**g**, __tr__**ace**, __grad__**ient**, **showstep**, __hess__**ian**, __showtol__**erance**,
__tol__**erance(***#***)**, __ltol__**erance(***#***)**, __nrtol__**erance(***#***)**, __nonrtol__**erance**, and
**from(***init_specs***)**; see **[R] maximize**. These options are seldom used.

The following option is available with **logistic** but is not shown in the
dialog box:

**coeflegend**; see **[R] estimation options**.

__Examples__

---------------------------------------------------------------------------
Setup
**. webuse lbw**

Logistic regression
**. logistic low age lwt i.race smoke ptl ht ui**

Same as above, but use a robust estimate of variance
**. logistic low age lwt i.race smoke ptl ht ui, vce(robust)**

---------------------------------------------------------------------------
Setup
**. webuse nhanes2d**
**. svyset**

Logistic regression using survey data
**. svy: logistic highbp height weight age female**

---------------------------------------------------------------------------
Setup
**. webuse mheart5**
**. mi set mlong**
**. mi register imputed age bmi**
**. mi impute mvn age bmi = attack smokes hsgrad female, add(10)**

Fit the logistic model separately on each of the 10 imputed datasets and
combine the results
**. mi estimate, or: logistic attack smokes age bmi hsgrad female**

---------------------------------------------------------------------------

__Video examples__

Logistic regression, part 1: Binary predictors

Logistic regression, part 2: Continuous predictors

Logistic regression, part 3: Factor variables

__Stored results__

**logistic** stores the following in **e()**:

Scalars
**e(N)** number of observations
**e(N_cds)** number of completely determined successes
**e(N_cdf)** number of completely determined failures
**e(k)** number of parameters
**e(k_eq)** number of equations in **e(b)**
**e(k_eq_model)** number of equations in overall model test
**e(k_dv)** number of dependent variables
**e(df_m)** model degrees of freedom
**e(r2_p)** pseudo-R-squared
**e(ll)** log likelihood
**e(ll_0)** log likelihood, constant-only model
**e(N_clust)** number of clusters
**e(chi2)** chi-squared
**e(p)** p-value for model test
**e(rank)** rank of **e(V)**
**e(ic)** number of iterations
**e(rc)** return code
**e(converged)** **1** if converged, **0** otherwise

Macros
**e(cmd)** **logistic**
**e(cmdline)** command as typed
**e(depvar)** name of dependent variable
**e(wtype)** weight type
**e(wexp)** weight expression
**e(title)** title in estimation output
**e(clustvar)** name of cluster variable
**e(offset)** linear offset variable
**e(chi2type)** **Wald** or **LR**; type of model chi-squared test
**e(vce)** *vcetype* specified in **vce()**
**e(vcetype)** title used to label Std. Err.
**e(opt)** type of optimization
**e(which)** **max** or **min**; whether optimizer is to perform
maximization or minimization
**e(ml_method)** type of **ml** method
**e(user)** name of likelihood-evaluator program
**e(technique)** maximization technique
**e(properties)** **b V**
**e(estat_cmd)** program used to implement **estat**
**e(predict)** program used to implement **predict**
**e(marginsok)** predictions allowed by **margins**
**e(marginsnotok)** predictions disallowed by **margins**
**e(asbalanced)** factor variables **fvset** as **asbalanced**
**e(asobserved)** factor variables **fvset** as **asobserved**

Matrices
**e(b)** coefficient vector
**e(Cns)** constraints matrix
**e(ilog)** iteration log (up to 20 iterations)
**e(gradient)** gradient vector
**e(mns)** vector of means of the independent variables
**e(rules)** information about perfect predictors
**e(V)** variance-covariance matrix of the estimators
**e(V_modelbased)** model-based variance

Functions
**e(sample)** marks estimation sample