说我有这个数据:
clear
set more off
input ///
float (b a_first a_second a_third control)
4 3 2 5 7
6 3 4 2 4
7 6 5 2 5
1 4 2 3 6
7 6 1 4 1
8 8 7 4 4
end
我想使用outreg2创建一个表:
foreach i in first second third {
reg b a_`i'
outreg2 using filename, replace
reg b a_`i' control
outreg2 using filename, append
}
(请注意,“文件名”是您选择的文件名。)这并不能完全满足我的要求。对于每次迭代,它都会创建一个只有两列的表。下次,它将用两个新的回归替换原来的状态。
我需要它做的只是在开关添加之后的第一次和之后替换:
reg b a_first
outreg2 using filename, replace
reg b a_first control
outreg2 using filename, append
reg b a_second
outreg2 using filename, append
reg b a_second control
outreg2 using filename, append
reg b a_third
outreg2 using filename, append
reg b a_third control
outreg2 using filename, append
我能想到的最好的办法是创建一个带replace
if的局部值,i==first
并在第一条outreg2
语句中使用该局部值。有没有更直接的方法?
考虑存储回归估计值,然后outreg2
在循环外部使用简明的通配符[*]
。请参阅doc的示例3outreg2
:
foreach i in first second third {
reg b a_`i'
est store `i'
reg b a_`i' control
est store `i'control
}
outreg2 [*] using filename, replace
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句