help esttab                                   also see: estout, eststo, estadd, estpost
http://repec.sowi.unibe.ch/stata/estout/
---------------------------------------------------------------------------------------

Title

esttab -- Display formatted regression table

Syntax
Description
Options
Examples
Backmatter

Syntax

esttab [ namelist ] [ using filename ] [ , options ]

where namelist is a name, a list of names, or _all. The * and ? wildcards are
allowed in namelist. A name may also be ., meaning the current (active)
estimates.

options              description
----------------------------------------------------------------------
Main
b(fmt)             specify format for point estimates
beta[(fmt)]        display beta coefficients instead of point est's
main(name [fmt])   display contents of e(name) instead of point e's
t(fmt)             specify format for t-statistics
abs                use absolute value of t-statistics
not                suppress t-statistics
z[(fmt)]           display z-statistics (affects label only)
se[(fmt)]          display standard errors instead of t-statistics
p[(fmt)]           display p-values instead of t-statistics
ci[(fmt)]          display confidence intervals instead of t-stat's
aux(name [fmt])    display contents of e(name) instead of t-stat's
[no]constant       do not/do report the intercept

Significance stars
[no]star[(list)]   do not/do report significance stars
staraux            attach stars to t-stat's instead of point est's

Summary statistics
aic|bic[(fmt)]     display Akaike's or Schwarz's information crit.
scalars(list)      display any other scalars contained in e()
sfmt(fmt [...])    set format(s) for scalars()
noobs              do not display the number of observations
obslast            place the number of observations last

Layout
wide               place point est's and t-stat's beside one another
onecell            combine point est's and t-stat's in a single cell
[no]parentheses    do not/do print parentheses around t-statistics
brackets           use brackets instead of parentheses
noeqlines          suppress lines between equations
compress           reduce horizontal spacing
plain              produce a minimally formatted table

Labeling
label              make use of variable labels
interaction(str)   specify interaction operator
title(string)      specify a title for the table
mtitles[(list)]    specify model titles to appear in table header
nomtitles          disable model titles
[no]depvars        do not/do use dependent variables as model titles
[no]numbers        do not/do print model numbers in table header
coeflabels(list)   specify labels for coefficients
[no]notes          suppress/add notes in the table footer

Document format
smcl | fixed | tab | csv | scsv | rtf | html | tex | booktabs
set the document format (smcl is the default)
fragment           suppress table opening and closing (LaTeX, HTML)
[no]float          whether to use a float environment or not (LaTeX)
page[(packages)]   add page opening and closing (LaTeX, HTML)
alignment(string)  set alignment within columns (LaTeX, HTML, RTF)
width(string)      set width of table (LaTeX, HTML)
longtable          multi-page table (LaTeX)
fonttbl(string)    set custom font table (RTF)

Output
replace            overwrite an existing file
append             append the output to an existing file
type               force prining the table in the results window
noisily            display the executed estout command

drop(list)         drop individual coefficients
noomitted          drop omitted coefficients
nobaselevels       drop base levels of factor variables
keep(list)         keep individual coefficients
order(list)        change order of coefficients
equations(list)    match the models' equations
eform              report exponentiated coefficients
unstack            place multiple equations in separate columns
estout_options     any other estout options
----------------------------------------------------------------------

Description

esttab is a wrapper for estout. It produces a pretty-looking publication-style
regression table from stored estimates without much typing. The compiled table is
displayed in the Stata results window or, optionally, written to a text file
specified by using filename. If filename is specified without suffix, a default
suffix is added depending on the specified document format (".smcl" for smcl,
".txt" for fixed and tab, ".csv" for csv and scsv, ".rtf" for rft, ".html" for
html, and ".tex" for tex and booktabs).

namelist provides the names of the stored estimation sets to be tabulated. You
may use the * and ? wildcards in namelist. If namelist is omitted, esttab
tabulates the estimation sets stored by eststo (see help eststo) or, if no such
estimates are present, the currently active estimates (i.e. the model fit last).

See help estimates for information about storing estimation results. An
alternative to the estimates store command is provided by eststo.

esttab can also be used to tabulate a Stata matrix applying syntax
esttab matrix(name), where name is the name of the matrix. Furthermore, an
e()-matrix or r()-matrix can be tabulated specifying esttab e(name) or esttab
r(name). Most options under the headings 'Main', 'Significance stars', and
'Summary statistics' are irrelevant in this case. See help estout for further
details on tabulating matrices.

Options

+------+
----+ Main +---------------------------------------------------------------------

b(fmt) sets the numerical display format for the point estimates. The default
format is a3. (See Numerical formats below for details on available formats.)

beta[(fmt)] requests that standardized beta coefficients be displayed in place of
the raw point estimates and, optionally, sets the display format (the default
is to print three decimal places). Note that beta causes the intercept to be
dropped from the table (unless constant is specified).

main(name [fmt]) requests that the statistics stored in e(name) be displayed in
place of the point estimates and, optionally, sets the display format (the
default is to use the display format for point estimates). For example,

t(fmt) sets the display format for t-statistics. The default is to display two
decimal places.

abs causes absolute values of t-statistics to be reported.

not suppresses the printing of t-statistics.

z[(fmt)] requests that z-statistics be displayed. z-statistics are the same as
t-statistics. Hence, specifying z does not change the table contents, it only
changes the label.

se[(fmt)] requests that standard errors be displayed in place of t-statistics
and, optionally, sets the display format (the default is to use the display
format for point estimates).

p[(fmt)] requests that p-values be displayed in place of t-statistics and,
optionally, sets the display format (the default is to print three decimal
places)

ci[(fmt)] requests that confidence intervals be displayed in place of
t-statistics and, optionally, sets the display format (the default is to use
the display format for point estimates). level(#) assigns the confidence
level, in percent. The default is level(95) or as set by set level.

aux(name [fmt]) requests that the statistics stored in e(name) be displayed in
place of t-statistics and, optionally, sets the display format (the default
is to use the display format for point estimates). For example, e(name) may

noconstant causes the intercept be dropped from the table.  Specify constant to
include the constant in situations where it is dropped by default.

+--------------------+
----+ Significance stars +-------------------------------------------------------

star[(symbol level [...])] causes stars denoting the significance of the
coefficients to be printed next to the point estimates. This is the default.
Type nostar to suppress the stars. The default symbols and thresholds are:  *
for p<.05, ** for p<.01, and *** for p<.001.  Alternatively, for example,
type star(+ 0.10 * 0.05) to set the following thresholds: + for p<.10 and *
for p<.05. Note that the thresholds must lie in the (0,1] interval and must
be specified in descending order.

staraux causes the significance stars be printed next to the t-statistics (or
standard errors, etc.) instead of the point estimates.

+--------------------+
----+ Summary statistics +-------------------------------------------------------

r2[(fmt)], ar2[(fmt)], and pr2[(fmt)] include the R-squared, the adjusted
R-squared, and the pseudo-R-squared in the table footer and, optionally, set
the corresponding display formats (the default is to display three decimal
places).

aic[(fmt)] and bic[(fmt)] include Akaike's and Schwarz's information criterion in
the table footer and, optionally, set the corresponding display formats (the
default is to use the display format for point estimates).

scalars(list) may be used to add other e()-scalars to the table footer (type
ereturn list to display a list of available e()-scalars after fitting a
model; see help ereturn). For example, scalars(df_m) would report the model
degrees of freedom for each model. list may be a simple list of names of
e()-scalars, e.g.

. esttab, scalars(ll_0 ll chi2)

or, alternatively, a list of quoted name-label pairs, e.g.

. esttab, scalars("ll Log lik." "chi2 Chi-squared")

sfmt(fmt [...]) sets the display format(s) for the statistics specified in
scalars() (the default is to use the display format for point estimates). If
sfmt() contains less elements than scalars(), the last specified format is
used for the remaining scalars. That is, only one format needs to be
specified if the same format be used for all scalars.

noobs suppresses displaying information on the number of observations. The
default is to report the number of observations for each model in the table
footer.

obslast displays the number of observations in the last row of the table footer.
The default is to use the first row.

+--------+
----+ Layout +-------------------------------------------------------------------

wide causes point estimates and t-statistics (or standard errors, etc.) to be
printed beside one another instead of beneath one another.

onecell causes point estimates and t-statistics (or standard errors, etc.) to be
combined in a single table cell. This option is useful primarily in rtf or
html mode. In these modes a line break is inserted between the two
statistics. The benefit from using onecell in rtf or html mode is that long
coefficients labels do not derange the table layout. The default for other
modes is to insert a blank between the statistics. Use estout's
incelldelimiter() option to change this.

parentheses encloses t-statistics (or standard errors, etc.) in parentheses. This
is the default. Specify noparentheses to suppress the parentheses.

brackets uses square brackets, [], instead of parentheses. Note that brackets are
the default for confidence intervals.

coefficients to increase readability (empty rows are also inserted between
the table's header, body, and footer, unless lines is activated). This is the
default unless wide or not is specified. Type nogaps to suppress the extra
spacing.

lines adds horizontal lines to the table separating the table's header, body, and
footer and, in the case of multiple equation models, the equations. This is
the default. Specify nolines to suppress the lines. Lines are always
suppressed in the tab and csv modes.

noeqlines suppresses the horizontal lines between equations in the case of
multiple equation models.

compress reduces the amount of horizontal spacing (so that more models fit on
screen without line breaking). The option has no effect in the tab and csv
modes. Furthermore, note that in the TeX and HTML modes the compress option
only changes the arrangement the table's code, but not the look of the
compiled end-product. In rtf, however, compress changes the look of the
formatted table.

plain produces a minimally formatted table. It is a shorthand to specifying
nostar, nodepvars, nonumbers, noparentheses, nogaps, nolines and nonotes and
setting all formats to %9.0g. Note that the disabled options can be switched
on again. For example, type

. esttab, plain star

to produce a plain table including significance stars.

+----------+
----+ Labeling +-----------------------------------------------------------------

label specifies that variable labels be used instead of variable names (and
estimation set titles be used instead of estimation set names). Furthermore,
label prints "Constant" instead of "_cons".

interaction(string) specifies the string to be used as delimiter for interaction
terms (only relevant in Stata 11 or newer). The default is interaction(" #
"). For tex and booktabs the default is interaction(" $\times$ ").

title(string) may be used to provide a title for the table. If specified, string
is printed at the top of the table.  Note that specifying a title causes the
table to be set up as a floating object in LaTeX mode (unless the nofloat
option is specified). You may want to set a label for referencing in this
case. For example, if you type title(...\label{tab1}), then "\ref{tab1}"
could be used in the LaTeX document to point to the table.

mtitles, without argument, specifies that for each model the title (or, if empty,
the name) of the stored estimation set be printed as the model's title in the
table header. If mtitles is omitted, the default is to use name or label of
the dependent variable as the model's title (see the depvar option).
Alternatively, use mtitles(list) specifies a list of model titles. Enclose
the titles in double quotes if they contain spaces, e.g.
mtitles("Model 1" "Model 2").

nomtitles suppresses printing of model titles.

depvars prints the name (or label) of the (first) dependent variable of a model
as the model's title in the table header. This is the default. Specify
nodepvars to use the names of the stored estimation sets as titles.

numbers includes a row containing consecutive model numbers in the table header.
This is the default. Specify nonumbers to suppress printing the model
numbers.

coeflabels(name label [...]) specifies labels for the coefficients. Specify names
and labels in pairs and, if necessary, enclose labels in double quotes, e.g.
coeflabels(mpg Milage rep78 "Repair Record").

notes prints notes at the end of the table explaining the significance symbols
and the type of displayed statistics. This is the default. Specify nonotes to
suppress the notes.

addnotes(list) may be used to add further lines of text at the bottom of the
table. Lines containing blanks must be enclosed in double quotes, e.g.

+-----------------+
----+ Document format +----------------------------------------------------------

smcl, fixed, tab, csv, scsv, rtf, html, tex, and booktabs choose the table's
basic output format. The default format is smcl unless using is specified, in
which case the default format depends on the filename's suffix (smcl for
".smcl", csv for ".csv", rtf for ".rtf", html for ".htm" or ".html", tex for
".tex", and fixed for all other filenames). To override the default behavior,
specify one of the following format options.

smcl produces a SMCL formatted table to be displayed in the Stata results
window or the Stata viewer.

fixed produces a fixed-format ASCII table. This is suitable, for example, if
the table be displayed in a text editor.

tab produces a tab-delimited ASCII table.

csv produces a CSV (Comma Separated Value format) table for use with
Microsoft Excel. Delimiter is a comma. In order to prevent Excel from
interpreting the contents of the table cells, they are enclosed double quotes
preceded by an equal sign (i.e. ="..."). However, if the plain option is
specified, the table cells are enclosed in double quotes without the leading
equal sign. The first method is appropriate if you want to preserve the
table's formatting. The second method is appropriate if you want to use the
table's contents for further computations in Excel.

scsv is a variant on the CSV format that uses a semicolon as the delimiter.
This is appropriate for some non-English versions of Excel (e.g. the German
version).

rtf produces a Rich Text Format table for use with word processors.

html produces a simple HTML formatted table.

tex produces a LaTeX formatted table.

booktabs produces a LaTeX formatted table for use with LaTeX's booktabs
package.

fragment causes the table's opening and closing specifications to be suppressed.
This is relevant primarily in LaTeX and HTML mode.

float causes the table to be set up as a floating object in LaTeX mode (table
environment). Providing a title() implies float. Specify nofloat to omit the
float environment in this case (this is useful, e.g., for LyX users).

page[(packages)] adds opening and closing code to define a whole LaTeX or HTML
document. The default is to produce a raw table that can then be included
into an existing LaTeX or HTML document. Specifying packages in parentheses
causes \usepackage{packages} to be added to the preamble of the LaTeX
document (note that the booktabs package is automatically loaded if booktabs
is specified).

alignment(string) may be used to specify the alignment of the models' columns in
LaTeX, HTML, or RTF mode.

In LaTeX mode string should be a LaTeX column specifier. The default is to
center the columns. To produce right-aligned columns, for example, type
alignment(r). If the table contains multiple columns per model/equation, the
alignment specification should define all columns. For example, if the wide
option is specified, you could type alignment(cr) to, say, center the point
estimates and right-align the t-statistics. Note that more sophisticated
column definitions are often needed to produce appealing results. In
particular, LaTeX's dcolumn package proves useful to align columns on the
decimal point.

In HTML mode string should be a HTML alignment specifier. The default is to
omit alignment specification, which results in left aligned columns. To
center the columns in HTML, for example, specify alignment(center). Other
than in LaTeX mode, the same alignment is used for all columns if the table
contains multiple columns per model/equation in the HTML mode.

In RTF mode string should be one of l, c, r, and j. The default is to center
the columns. To produce right-aligned columns, for example, type
alignment(r). The same alignment is used for all columns if the table
contains multiple columns per model/equation in the RTF mode.

Note that alignment() does not change the alignment of the variable
names/labels in the left stub of the table. They are always left-aligned.

width(string) sets the overall width of the table in LaTeX or HTML. string should
be LaTeX or HTML literal. For example, specify width(\hsize) in LaTeX or
width(100%) in HTML to span the whole page. The table columns will spread
regularly over the specified width. Note that in RTF mode estout's varwidth()
and modelwidth() options may be used to change the width of the table
columns.

longtable causes the longtable environment to be used in LaTeX. Use longtable for
tables that are too long to fit on a single page. longtable cannot be
combined with width(). Make sure to load the longtable package in the LaTeX
document, i.e. include \usepackage{longtable} in the document's preamble.

fonttbl(string) defines a custom font table in RTF. The default is "\f0\fnil
Times New Roman;". For example, typing

. esttab using example.rtf, ti("\f1 The Auto Data") ///
fonttbl(\f0\fnil Times New Roman;\f1\fnil Arial;)

would add a title in Arial.

+--------+
----+ Output +-------------------------------------------------------------------

replace permits esttab to overwrite an existing file.

append specifies that the output be appended to an existing file. It may be used
even if the file does not yet exist. Specifying append together with page in
TeX or HTML mode causes the new table to be inserted at the end of the body
of an existing document (esttab seeks a line reading "\end{document}" or
"</body>", respectively, and starts appending from there; contents after this
line will be overwritten). In RTF mode, existing documents are assumed to end
with a line containing a single "}".

type specifies that the assembled table be printed in the results window and the
log file. This is the default unless using is specified.

noisily displays the executed estout command.

+----------+

drop(droplist) identifies the coefficients to be dropped from the table. A
droplist comprises one or more specifications, separated by white space. A
specification can be either a parameter name (e.g. price), an equation name
followed by a colon (e.g. mean:), or a full name (e.g. mean:price). You may
use the * and ? wildcards in equation names and parameter names. Be sure to
refer to the matched equation names, and not to the original equation names
in the models, when using the equations() option to match equations.

noomitted drops omitted coefficients (only relevant in Stata 11 or newer).

nobaselevels drops base levels of factor variables (only relevant in Stata 11 or

keep(keeplist) selects the coefficients to be included in the table. keeplist is
specified analogous to droplist in drop() (see above).

order(orderlist) changes the order of the coefficients and equations within the
table. orderlist is specified analogous to droplist in drop() (see above).
Coefficients and equations that do not appear in orderlist are placed last
(in their original order).

equations(eqmatchlist) specifies how the models' equations are to be matched.
This option is passed to the internal call of estimates table. See help
estimates on how to specify this option. The most common usage is
equations(1) to match all the first equations in the models.

eform displays the regression table in exponentiated form. The exponent of a
coefficient is displayed in lieu of the untransformed coefficient; standard
errors and confidence intervals are transformed as well. Note that the
intercept is dropped in eform-mode, unless constant is specified.

unstack specifies that the individual equations from multiple-equation models
(e.g. mlogit, reg3, heckman) be placed in separate columns. The default is to
place the equations below one another in a single column.

estout_options are any other estout options (see help estout). Note that estout
options take precedence over esttab options. For example,

cells()     disables b(), beta(), main(), t(), abs, not, se(), p(), ci(),
aux(), star, staraux, wide, onecell, parentheses, and brackets,

stats()     disables r2(), ar2(), pr2(), aic(), bic(), scalars(), sfmt(),
noobs, and obslast.

Other estout options that should be used with care are begin(), delimiter(),
varlabels(). Furthermore, note that estout's style() option does not have
much effect because most options that would be affected by style() are set
explicitly by esttab.

+-------------------+
----+ Numerical formats +--------------------------------------------------------

Numerical display formats may be specified in esttab as follows:

1. Official Stata's display formats: You may specify formats, such as %9.0g or
%8.2f. See help format for a list of available formats. %g or g may be used
as a synonym for %9.0g.

2. Fixed format: You may specify an integer value such as 0, 1, 2, etc. to
request a display format with a fixed number of decimal places. For example,
t(3) would display t-statistics with three decimal places.

3. Automatic format: You may specify a1, a2, ..., or a9 to cause esttab to
choose a reasonable display format for each number depending on the number's
value. a may be used as a synonym for a3. The # in a# determines the minimum
precision according to the following rules:

o Absolute numbers smaller than 1 are displayed with # significant decimal
places (i.e. with # decimal places ignoring any leading zeros after the
decimal point). For example, 0.00123456 is displayed as 0.00123 if the
format is a3.

o Absolute numbers greater than 1 are displayed with as many digits
required to retain at least one decimal place and are displayed with a
minimum of (# + 1) digits. For example, if the format is a3, 1.23456 is
displayed as 1.235, 12.3456 is displayed as 12.35, and 1234.56 is
displayed as 1234.6.

o In any case, integers are displayed with zero decimal places, and very
large or very small absolute numbers are displayed in exponential format.

Examples

The following examples are intended to illustrate the basic usage of esttab.
Additional examples can be found at http://repec.sowi.unibe.ch/stata/estout/.

The procedure is to first fit and store some models (see eststo) and then apply
esttab to these stored estimates:

. eststo clear

. sysuse auto
(1978 Automobile Data)

. eststo: quietly regress price weight mpg
(est1 stored)

. eststo: quietly regress price weight mpg foreign
(est2 stored)

. esttab, ar2

--------------------------------------------
(1)             (2)
price           price
--------------------------------------------
weight              1.747**         3.465***
(2.72)          (5.49)

mpg                -49.51           21.85
(-0.57)          (0.29)

foreign                            3673.1***
(5.37)

_cons              1946.1         -5853.7
(0.54)         (-1.73)
--------------------------------------------
N                      74              74
--------------------------------------------
t statistics in parentheses
* p<0.05, ** p<0.01, *** p<0.001

The same table using labels:

. esttab, ar2 label

----------------------------------------------------
(1)             (2)
Price           Price
----------------------------------------------------
Weight (lbs.)               1.747**         3.465***
(2.72)          (5.49)

Mileage (mpg)              -49.51           21.85
(-0.57)          (0.29)

Car type                                   3673.1***
(5.37)

Constant                   1946.1         -5853.7
(0.54)         (-1.73)
----------------------------------------------------
Observations                   74              74
----------------------------------------------------
t statistics in parentheses
* p<0.05, ** p<0.01, *** p<0.001

Plain table:

. esttab, ar2 plain

est1         est2
b/t          b/t
weight           1.746559     3.464706
2.723238     5.493003
mpg             -49.51222      21.8536
-.5746808     .2944391
foreign                        3673.06
5.370142
_cons            1946.069    -5853.696
.541018    -1.733408
N                      74           74

Using standard errors in brackets and suppress significance stars:

. esttab, se nostar brackets

--------------------------------------
(1)          (2)
price        price
--------------------------------------
weight              1.747        3.465
[0.641]      [0.631]

mpg                -49.51        21.85
[86.16]      [74.22]

foreign                         3673.1
[684.0]

_cons              1946.1      -5853.7
[3597.0]     [3377.0]
--------------------------------------
N                      74           74
--------------------------------------
Standard errors in brackets

Printing beta coefficients:

. esttab, beta

--------------------------------------------
(1)             (2)
price           price
--------------------------------------------
weight              0.460**         0.913***
(2.72)          (5.49)

mpg                -0.097           0.043
(-0.57)          (0.29)

foreign                             0.573***
(5.37)
--------------------------------------------
N                      74              74
--------------------------------------------
Standardized beta coefficients; t statistics in parentheses
* p<0.05, ** p<0.01, *** p<0.001

Author

Ben Jann, Institute of Sociology, University of Bern, jann@soz.unibe.ch

Also see

Manual:  [R] estimates

Online:  help for estimates, estcom, estout, eststo, estadd, estpost