我有多套回归需要在不同的表格中展示。我想知道是否有办法使用outreg2
或esttab
或其他一些软件包将多组回归导出到一个Excel工作簿中?
例如,我使用esttab
运行100次回归;然后我想把它们呈现在25个不同的表中,每个表中有四个回归。以下格式的代码允许我导出到25个不同的csv文件:
esttab using "$output\output1.csv", se stats(N ymean r2_a) replace
但是,我希望在一个工作簿中包含25个选项卡的所有25个表。如果输出文件的数量不大,则可以复制粘贴表格,但对我来说情况并非如此。
答案 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)
您可以轻松地将四个回归合并到一个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