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

时间:2015-09-16 19:33:48

标签: excel stata

我有多套回归需要在不同的表格中展示。我想知道是否有办法使用outreg2esttab或其他一些软件包将多组回归导出到一个Excel工作簿中?

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

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

但是,我希望在一个工作簿中包含25个选项卡的所有25个表。如果输出文件的数量不大,则可以复制粘贴表格,但对我来说情况并非如此。

2 个答案:

答案 0 :(得分:3)

使用outreg2,您需要使用dta选项将结果另存为单个数据集,然后使用export excel命令将每个数据集导出到单个工作表中相同的标签。 E.g

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选项添加到outreg2首次使用中。进一步使用outreg2选项将有助于进一步清理输出。

答案 1 :(得分:1)

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

您可以轻松地将四个回归合并到一个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包的强大功能(检查herehere