【发布时间】:2016-09-13 12:00:10
【问题描述】:
所以我按面试年份运行 2SLS 模型,我有很多面试年份和不同的模型。我想先展示第一阶段的结果,然后在向读者保证他们是可靠的之后继续讨论有趣的结果。
表A示例(第一阶段):
年 DV 系数 SE F N
1 A 0.5 0.1 100 1000
2 A 0.8 0.2 10 1500
3 B -0.6 0.4 800 800
包含主要结果的表 B 看起来与没有 F-Stat 相同。
我在网上搜索了有关如何在 Stata 中自动创建这些表的信息,但尽管发现了很多问题,但我没有找到适合我的答案。从这些不同的帖子和帮助文件中,我构建了几乎存在的东西。
它通过某个变量(代码中的步骤 A)创建了我想要的主要结果与 F-Stat 的表。然而,当我继续对第一阶段做同样的事情时,它只会在我恢复估计值时保存最后一波。我理解为什么 Stata 会这样做,但我想不出一种方法来说服它做我想做的事。
clear all
*Install user-written commands
ssc install outreg2, replace
ssc install ivreg210, replace
*load data
sysuse auto, clear
*run example model (obviously the model itself is bogus)
********************************************************
*Step A: creates the IV results by foreign plus the F-Statistic
bys foreign: ///
outreg2 using output1-IV-F, label excel stats(coef se) dec(2) adds(F-Test, e(widstat)) nocons nor2 keep(mpg) replace: ///
ivreg210 price headroom trunk (mpg=rep78 ), savefirst first
*Step B: creates the first stage results in a seperate table
bys foreign: ///
ivreg210 price headroom trunk (mpg=rep78 ), savefirst first
est restore _ivreg210_mpg
outreg2 using output1_1st-stage, replace keep(rep78)
cap erase output1-IV-F
cap erase output1_1st-stage
所以理想情况下,我只运行一次模型并将 F-Stat 放在第一阶段表中,但我可以手动修复它。我遇到的最大问题是如何在使用 bysort 时存储估计值。如果有人对此有任何建议,我将不胜感激。
谢谢!
【问题讨论】:
标签: stata