全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2530 5
2012-11-17
如下程序,希望在chhit满足条件chhit==17-`j' 时,定义一个暂元ar,使得ar为从chhit==17-`j' 这一天开始到第i天的累计收益率。
但是local命令不能和if同时使用,所以无法运行。请问有什么办法可以改进这个程序么?急!万分感谢!!!

mat rmat = J(10,7,0)

forvalues j=1/7{
   forvalues i=1/10{

   local ar=(clsprc[_n+`i']/clsprc)-1 if chhit==17-`j'
   mat rmat[`i',`j']=ar
   }
   
}
二维码

扫码加我 拉你入群

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

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

全部回复
2012-11-17 13:43:28
if chhit==17-`j'   local ar=(clsprc[_n+`i']/clsprc)-1
二维码

扫码加我 拉你入群

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

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

2012-11-17 16:07:30
sungmoo 发表于 2012-11-17 13:43
if chhit==17-`j'   local ar=(clsprc[_n+`i']/clsprc)-1
原来这样是可以的~多谢sungmoo!!!
运行之后提示 ar not found

改成mat rmat[`i',`j']=`ar'
后又提示invalid syntax

不知道出了什么问题呢...
二维码

扫码加我 拉你入群

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

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

2012-11-17 16:18:18
mat rmat = J(10,7,0)
forv j=1/7{
forv i=1/10{
if chhit==17-`j'{
loc ar=(clsprc[_n+`i']/clsprc)-1
mat rmat[`i',`j']=`ar'
}
}
}
二维码

扫码加我 拉你入群

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

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

2012-11-17 16:20:12
注意if的用处与用法:若条件后的行动是多行的,要用{}标识。
二维码

扫码加我 拉你入群

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

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

2013-8-15 14:14:35
说的很好,也感谢楼上了。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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