Star
Star

Reputation: 2299

Exporting results from regressions in Excel

I want to store results from ordinary least squares (OLS) regressions in Stata within a double loop.

Here is the structure of my code:

foreach i2 of numlist 1 2 3{
    foreach i3 of numlist 1 2 3 4{
        quiet: eststo: reg dep covariates, robust
    }
}

The end goal is to have a table in Excel composed by twelve rows (one for each model) and seven columns (number of observations, estimated constant, five estimated coefficients).

Any suggestion on how can I do this?

Upvotes: 0

Views: 553

Answers (1)

user8682794
user8682794

Reputation:

Such a table can be created simply by using the community-contributed command esttab:

sysuse auto, clear
eststo clear

eststo m1: quietly regress price weight
eststo m2: quietly regress price weight mpg

quietly esttab
matrix A = r(coefs)'
matrix C = r(stats)'

tokenize "`: rownames A'"
forvalues i = 1 / `=rowsof(A)' {
    if strmatch("``i''", "*b*") matrix B = nullmat(B) \ A[`i', 1...]
}

matrix C = B , C
matrix rownames C = "Model 1" "Model 2"

Result:

esttab matrix(C) using table.csv, eqlabels(none) mlabels(none) varlabels("Model 1" "Model 2")

----------------------------------------------------------------
                   weight          mpg        _cons            N
----------------------------------------------------------------
Model 1          2.044063                 -6.707353           74
Model 2          1.746559    -49.51222     1946.069           74
----------------------------------------------------------------

Upvotes: 1

Related Questions