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

我有多组回归需要在不同的表格中呈现。 我想知道是否有办法使用outreg2或者esttab或者其他一些软件包将多组退化导出到一个Excel工作簿中?

例如,我使用esttab运行100个回归; 那么我想用25个不同的表格来呈现,每个表格有4个回归。 以下格式的代码允许我导出到25个不同的csv文件:

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

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

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

 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的选项将有助于进一步清理输出。

regsave可能是另一种select(信息在这里和这里 )

您可以轻松地将四个回归结合到一个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包的威力(点击这里和这里 )