全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
8775 10
2013-05-26
悬赏 1000 个论坛币 已解决
有若干dependent variable:y1,y2,y3,y4,y5,y6。有若干independent variable:x1, x2, x3, x4, x5, x6, x7, x8, x9, x10。另外,还有一个进行分组的参数G,G有三个取值0,1,2 。
现在对每一个dependent variable都要做如下三个回归:
reg y1 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 if G==0
reg y1 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 if G==1
reg y1 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 if G==2
并且对每一个dependent variable用esttab输出回归结果到单独的csv文件

我已写程序如下:

foreach var in y1 y2 y3 y4 y5 y6 {

reg `var' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 if G==0

est store `var'_m1

reg `var' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 if G==1

est store `var'_m2

reg `var' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 if G==2

est store `var'_m3

esttab `var'_m1 `var'_m2 `var'_m3 using `var'.csv, replace

}


以上程序很简单,但是有个缺点,如果分组G较多的话,那么要重复写多次如下两行代码:

reg `var' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 if G==

est store `var'_m

我想用bys G: eststo: reg `var' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10

但是由于我有许多dependet variable,用esttab输出的结果包含所有dependent variable回归,而不是对于每一个dependent variable单独输出一个csv表格。


哪位有什么好办法解决这个问题么?非常感谢!


reg example.dta.zip
大小:(111.67 KB)

 马上下载

本附件包括:

  • reg example.dta


最佳答案

dxystata 查看完整内容

levelsof G,clean local(Gvalue) foreach var in y1 y2 y3 y4 y5 y6 { local i=1 local `var'_m forecach value of local Gvalue { reg `var' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 if G==`value' est store `var'_m`i' local `var'_m ``var'_m' `var'_m`i' local i=`i'+1 } esttab "`var'_m" using `var'.csv, replace }
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-5-26 07:40:13
levelsof G,clean local(Gvalue)
foreach var in y1 y2 y3 y4 y5 y6 {
        local i=1
        local `var'_m
        forecach value of local Gvalue {
                reg `var' x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 if G==`value'
                est store `var'_m`i'
                local `var'_m ``var'_m' `var'_m`i'
                local i=`i'+1
        }
        esttab "`var'_m" using `var'.csv, replace
}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-5-26 08:07:50
esttab "`var'_m" using `var'.csv, replace

esttab `var'_m using `var'.csv, replace
你测试一下是否要加引号
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-5-26 08:35:31
dxystata 发表于 2013-5-26 08:06
levelsof G,clean local(Gvalue)
foreach var in y1 y2 y3 y4 y5 y6 {
        local i=1
这个我试了,好像还是有点问题。如果esttab那步加上引号,那么不输出结果。如果不加引号,会报错: estimation result y1_mm_m not found

想问您一下一开始levelsof G,clean local(Gvalue)
中间的 local `var'_m ``var'_m' `var'_m`i'
分别是起什么作用的啊?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-5-26 08:38:15
你传部分数据上来,我测试一下!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-5-26 09:07:49
dxystata 发表于 2013-5-26 08:38
你传部分数据上来,我测试一下!
我上传了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群