全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2633 5
2015-07-22
用的stata13.1
运行以下语句

. forvalues i = 1/$N{
  2. qui reg y x1 x2_1 x3 if (ind2==`i')
  3. qui predict e if e(sample), res
  4. qui replace da = e if e(sample)
  5. drop e
  6. }

invalid syntax


系统提示语法错误。
研究了半天语句和连老师等人的是一样的,请高手看一眼哪里出错了。

二维码

扫码加我 拉你入群

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

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

全部回复
2015-7-22 18:57:30
这段程序是没有问题的
二维码

扫码加我 拉你入群

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

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

2015-7-22 23:33:04
我这两天也在做这个,一开始参照连老师的做了您类似的程序,可能由于数据中的缺失值问题,结果也是在invalid syntax、insufficient observations和no observations三个错误中来回变,而且改成:
forvalues t=1/m{
  forvalues s=1/n{
     qui reg taccasset asset deltaasset ppeasset if (t==`t' & s==`s')
         qui predict r if e(sample),r
         qui replace DA=r if e(sample)
     drop r
  }
}
还是换成局部宏:
forvalues i = 1/`N'{
   qui reg y x1 x2_1 x3 if (ind2==`i')
   qui predict e if e(sample), res
   qui replace da = e if e(sample)
   drop e
}
都是报错,所以参考了https://bbs.pinggu.org/thread-1409699-1-1.html中Voodoo的那个方法可以通过得出结果了,
至于为什么上面的不对,我思考了很久也没发现语法上的错误,宏的定义也没问题,难道是数据中的问题?缺失的
我也已经全部把相应的sic标空了,还请连老师等专家来帮助我们吧,你要是有答案也请告诉我哈,多谢!
二维码

扫码加我 拉你入群

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

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

2015-7-23 09:38:37
破碧清泓 发表于 2015-7-22 23:33
我这两天也在做这个,一开始参照连老师的做了您类似的程序,可能由于数据中的缺失值问题,结果也是在invali ...
请给出完整的代码,最好有样本数据,这个问题很容易解决
二维码

扫码加我 拉你入群

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

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

2015-7-23 09:57:54
ywh19860616 发表于 2015-7-23 09:38
请给出完整的代码,最好有样本数据,这个问题很容易解决
egen sic=group(industry year)
qui sum sic
local N=r(max)
bysort industry year: egen num_sic_year_OLS=count(id)
replace sic=. if num_sic_year_OLS<1
drop num_sic_year_OLS
gen DA=.
forvalues i=1/`N'{
qui reg taccasset asset deltaasset ppeasset if sic==`i'
qui predict r if e(sample), res
qui replace DA=r if e(sample)
drop r
}
一开始的就是这样,多谢了!
二维码

扫码加我 拉你入群

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

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

2020-3-9 22:10:42
有可能是某些行业-年份存在的样本太少,无法进行回归导致的,并不一定是语法问题
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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