大家好,我正在使用一个简单的循环来运行五个不同的回归并保存边际效应(不是所有的解释变量,而是几年),以便稍后用coefplot对其进行绘图。
代码如下:
foreach x in Qualifica2 Qualifica3 Qualifica4 Qualifica5 Qualifica6 {
xtreg one_y_unemp year* AG* MR* female if `x' == 1
margins, dydx(year*) post
estimates store me_`x'
}
我不知道为什么,但是括号内的最后一行没有循环,因此我的估算值没有保存。我怎么解决这个问题?谢谢您的帮助。
P.s。在切换到xtreg之前,我使用了一个probit模型,这就是为什么我使用margins命令的原因,并且由于我不知道如何以其他方式一直只保存某些系数。如果您在这方面也有建议,那会很好,因为运行margins命令会花费很多时间。
eststo
(用户编写的命令作为SSC上estout
套件的一部分提供的用户写命令)直接与xtreg
一起使用会更有效。由于这是线性回归,因此无需在估算后指定margins
。以下内容可能足以满足您的需求:foreach x in Qualifica2 Qualifica3 Qualifica4 Qualifica5 Qualifica6 {
eststo: xtreg one_y_unemp year* AG* MR* female if `x' == 1
}
然后,您可以参考将要存储为est1
,est2
,...的估算值,前提是您以前没有存储估算值。这也将与coefplot
交互,并且您可以通过指定(例如)coefplot, keep(year*)
仅保留某些变量。