全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
5704 7
2018-01-04
复制代码
我用的市场模型来估计正常收益,我的命令如下:

gen predicted_return=.
egen id=group(scode)
qui tabulate id
local N=r(r)
forvalues i=1/'369'{
l id group_id if id=='i' & dif==0
reg A B C D E F G  if (id=='i'&estimation_window==1)
predict p if id=='i'
replace predicted_return =p if (id='i'&event_window==1)
drop p
}
后来参考论坛把forvalues i=1/'369'{改成local n=_N forvali=1/'n'{

          还是一样出现invalid syntax或者unexpected end of file,

求助各位高手老师,这个对不对1.如果不对该怎么写这个完整的循环语句?
2.里面的N要不要改成样本数,比如我的是369,要不要改成369后再执行(其实,我都试了下,循环不了,所以不知道该怎么办了)
在线等,写论文用,叨扰之处,敬请谅解!!采纳方法赠送论坛币感谢老师们的帮助!!谢谢!!!



二维码

扫码加我 拉你入群

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

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

全部回复
2018-1-6 18:14:51
做这种循环回归我几乎都不用 foreach/forvalues,你若能附上代表性资料 (请用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html。) 并说明你要做什么,我或许可以帮忙!
二维码

扫码加我 拉你入群

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

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

2018-1-6 21:47:49
问题出在估计正常情绪指数的时候,原来据说这个formul命令能够自动循环执行这些公司的数据,不用一个一个算!!
二维码

扫码加我 拉你入群

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

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

2018-1-6 22:40:38
我看你的local宏的调用写法好像不对吧。。。那不是两个单引号哦,而是一个`,一个',前面一个是英文输入状态下的键盘上“~”这个字符的下档键。。。而且你是不是没有弄清楚local宏的意义和用法啊。。。你定义了local N=r(r),但你后面完全没有调用`N'啊。如果你想要让循环从1到369,那么你就直接写forvalues i=1/369,就行了啊。。。看不懂你到底要做什么。。。
二维码

扫码加我 拉你入群

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

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

2018-1-6 23:02:06
arikjin 发表于 2018-1-6 22:40
我看你的local宏的调用写法好像不对吧。。。那不是两个单引号哦,而是一个`,一个',前面一个是英文输入状态 ...
您好,我开始的时候就是直接用的forvalues i=1/369,结果一直出问题,后来再论坛上看到有人提议让定义L宏,然后他的问题解决了,我想着也试试定义L宏后,重新执行,结果还是不行,,现在困在这里,,不过谢谢您的建议。
二维码

扫码加我 拉你入群

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

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

2018-1-7 00:54:27
xmkwff821703 发表于 2018-1-6 23:02
您好,我开始的时候就是直接用的forvalues i=1/369,结果一直出问题,后来再论坛上看到有人提议让定义L宏 ...
从你贴上来的代码看,你调用宏的写法是错的……
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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