## Publication quality regression tables in Stata

## Types of regression tables

asdocx can create three types of regression tables.

### Detailed tables

The first type is the detailed table [ See examples here ] that combines key statistics from the Stata’s regression output with some additional statistics such as mean and standard deviation of the dependent variable etc. This table is the default option in asdocx.

### Nested regression tables

The second table is the nested table [ see examples here ] that nests more than one regressions in one table.

### Wide regression tables

The third table is the wide table [see asdocx wide tables here ] that reports regression components in a wide or row format. Since wide table offers more than 10 options, it is discussed in this separate section with relevant examples. The following options are available when exporting regression tables with asdocx.

## asdocx options for regression tables

4.1 nested

This option invokes the creation of nested regression tables. Without this option, the default (detailed regression) table is created

by asdocx.

4.2 rep(t | se | p |ci)

This option is used in combination with option nest for reporting t-values `rep(t)`

, standard errors `rep(se)`

, or p-values `rep(p)`

(with each of the regression coefficient. The default for this option is standard errors. Please note that option `rep(t)`

or option `rep(p)`

will work only when used at the start of the nested table. This is the case either:

(i) when option replace is used or

(ii) the nested table is started for the first time.

4.3 append

append and replace are alternatives and are optional options. If left blank, option append is assumed, which will write the results to

the existing file.

4.4 reset

Option reset causes asdocx to make a new nested table, i.e. instead of appending to the existing nested table, option reset will start a new table in the existing file.

4.5 title(table title)

Option `title()`

is used to write table title. For example, `title(Table 1 - Fixed effects model)`

4.6 cnames(Column title)

Option `cnames()`

is used to write column title while making a nested table. By default, each column title is named as the name of the dependent variable in nested tables. We can change this name to our desired name with option cnames, e.g., cnames(OLS) or cnames(FE), etc.

4.7 dec(#)

Option `dec()`

is used to specify the number of decimal points. For example, `dec(3)`

4.8 add(text1, text2 | text3, text4…)

This option adds text legends to the bottom cells of the nested regression table. This option is usually used to show the presence or absence of some variables in the respective regression models. For example, we might include firm, year or industry dummies in a regression model and just indicate with ‘yes’ or ‘no’ the presence of these dummies. This version of asdocx supports up to a maximum of three categories of legends. The text legends should be added in pairs of two, each one separated by a comma. For example:

add(Year dummies, yes) add(Year dummies, yes, industry dummies, yes) add(Year dummies, yes, industry dummies, yes, country dummies, no)

4.9 keep(varlist) (used only with option nest)

keep(varlist) and drop(varlist) are alternatives; they specify coefficients to be included or omitted from the table. The default is

to display all coefficients.

4.10 stat()

to include statistics from `e()`

(used only with option nest)

Option `stat()`

can be used to report additional regression statistics that are stored in macro e(); e.g, `stat(rmse rss)`

. The `e()`

macros are available after running a regression model. Since asdocx runs regression models below the surface, these macros are obtained by asdocx and can be reported by providing the macro names in option `stat()`

without the `e()`

part. For example, `stat(`

will report the RMSE and RSS of the model. Please note that these statistics will be reported only if they are available in the e() macro. If they are not available, asdocx will highlight it as an error and report the given statistic as missing. All *rmse rss*)`e()`

macros can be listed by typing *ereturn *list in Stata command window after a regression model. Some of the most commonly used `e()`

statistics of regression models are as follows:

N Number of observations. Reported by asdocx as default r2 R-squared. Reported by asdocx as default r2_a Adjusted r-squared F F-statistics rmse RMSE rss Residual sum of squares ll Log-likelihood chi2 Chi-square value

4.11 Set custom significance level for stars

The default significance levels for reporting stars are set at : *** for p-values <=0.01; ** for p-values <=0 .05, and * for p-values <=0.1. However, we can set our own levels for statistical significance using option setstars(). An example of setstars option looks like:

setstars(***@.01, **@.05, *@.1)

As we can see from the above line, setstars separates each argument by a comma. Each argument has three components. The first component is the symbol (in our case it is *) which will be reported for the given significance level. The second component is the @ sign that connects the significance level with the symbol. And the third component is the value at which the significance level is set. So if we want to report stars such that

* for p-value .001 or less ** for p-value .01 or less *** for p-value .05 or less

We shall write the option setstars as

setstars(*@.001, **@.01, ***@.05)

An example would be:

sysuse auto, clear asdocx reg price mpg rep78 headroom, /// replace setstars(*@.001, **@.01, ***@.05)

4.12 Suppressing stars [used with detailed regression tables]
If we are not interested in reporting significance stars, we can use option **nostars**

4.13 Suppressing confidence intervals [used with detailed regression tables]
If confidence intervals are not needed, we can use option `noci`

4.14 Confidence intervals at 99% [used with detailed regression tables]
asdocx follows the Stata’s default to report confidence intervals at 95% level. However, one can change the level using the option `level(##)`

. So to use the confidence internal at 99%:

sysuse auto, clear asdocx reg price mpg rep78 headroom, level(99)

4.15 eform [exponentiated coefficients] Option eform can be used to exponentiate coefficients or convert them to odd ratios in some regressions such as logit, etc.

4.16 label

By default, asdocx writes variable names as the row headers. Option label can be used to report variable labels instead of variable names.