全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2120 5
2014-01-11
我要分别对每一家公司每一年的持有收益与市场收益跑回归。
先根据每家公司的code生成一个新变量a对其赋值为1——2278,然后forvalues a和year:
forvalues i=1/2278{         
   forvalues j=2001/2012{      
   regress  r rm if a==`i' & year==`j'
    ......

现在的问题是,有的code可能其中某一年退市了,到这一年开始没有数据了;这样跑到这一年就循环不下去了。
然后我就在前面加了个count
forvalues i=1/2278{      
       forvalues j=2001/2012{   
         count ifa==`i' & year==`j'
          local x=r(N)                              
             if   `x'>=8{                           
            regress  r rm if a==`i' & year==`j'
                    }
         if `x'<8 {
                    continue
               }
  ......
这样又进入了死循环,跑了一个晚上都没跳出来。这是怎么回事呢?请高手指点啊!谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2014-1-11 09:01:26
复制代码
二维码

扫码加我 拉你入群

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

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

2014-1-11 20:42:46
ywh19860616 发表于 2014-1-11 09:01
貌似还是不行.能解释下这个命令么?谢谢!
二维码

扫码加我 拉你入群

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

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

2014-1-11 22:12:30
你这个没必要用循环,如果只是想回归,直接
bys year id: reg r rm
如果是想导出回归系数等参数直接用statsby:
statsby _b, by(year id) clear: reg r rm

你可以看看这个帖子
https://bbs.pinggu.org/thread-2638034-1-1.html

二维码

扫码加我 拉你入群

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

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

2014-1-11 22:31:35
不太明白你的意思,你在每个forvalues之前加noisily试试。
二维码

扫码加我 拉你入群

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

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

2014-1-12 08:11:47
cykjxlh 发表于 2014-1-11 20:42
貌似还是不行.能解释下这个命令么?谢谢!
复制代码
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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