如何使用 outreg2 或 esttab 将多组回归导出到一个 Excel 工作簿中?

How to export multiple set of regressions into one Excel workbook using either outreg2 or esttab?

我有多组回归需要在不同的 table 中呈现。我想知道是否有一种方法可以使用 outreg2esttab 或其他一些包将多组回归导出到一个 Excel 工作簿中?

例如,我使用 esttab 运行 100 个回归;然后我想在 25 个不同的 table 中展示它们,每个 table 中有四个回归。以下代码格式允许我导出到 25 个不同的 csv 文件:

esttab using "$output\output1.csv", se stats(N ymean r2_a) replace

但是,我想在一个包含 25 个选项卡的工作簿中包含所有 25 个 table。如果输出文件的数量不大,可以复制粘贴 tables,但对我来说不是这样。

使用outreg2,您需要使用dta选项将结果保存为单独的数据集,然后使用export excel命令将每个数据集导出到单独的数据集sheet 在同一个选项卡中。 例如:

clear all
sysuse auto

regress price mpg
outreg2 using "price" , replace dta

regress price mpg headroom
outreg2 using "price" , dta

regress mpg weight length
outreg2 using "mpg" , replace dta

regress mpg weight length foreign
outreg2 using "mpg" , dta

use price_dta
export excel using "results" , sheet("price")

use mpg_dta
export excel using "results" , sheet("mpg")

显然 运行 这作为一个循环会更有意义,您可能希望将 replace 选项添加到 first 使用 outreg2。进一步使用 outreg2 的选项将有助于进一步清理输出。

regsave 可能是另一种选择(信息 here and here

您可以轻松地将四个回归合并到一个 dta 文件中,然后将它们导出到 xls

一些基本代码,从帮助文件中借用,让你起来 运行:

sysuse auto.dta, clear

regress price mpg trunk headroom length
regsave mpg trunk using results, table(OLS_stderr, order(regvars r2)) replace

regress price mpg trunk headroom length, robust
regsave mpg trunk using results, table(Robust_stderr, order(regvars r2)) append

use results, clear

outsheet using table.txt, replace
export excel using "excell", firstrow(variables) replace

如果你想更多地操纵 Excel 输出,你也可以尝试利用 xml_tab 包的力量(检查 here and here