全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 统计软件培训班VIP答疑区
1434 3
2013-11-04
想要实现:从32个序列,即x1,x2...x32中任意选两个做格兰杰因果检验并记录结果。试过foreach,没能如愿。请老师指点。我的语句
global vars "x1 x2 x3 x5 x6 x7 x8 x9 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 x31 x32"
foreach v of varlist $vars{
  gcause `v' `v'+1, lags(40)
}
   
foreach num of numlist 1/32{
  gcause x`num', x`num++', lags(40)
  }



二维码

扫码加我 拉你入群

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

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

全部回复
2013-11-5 07:33:07
我又回头仔细看了视频,参照连老师初级课件5.7.2中的程序,仅以x1-x3为例,程序如下
mat aa = J(9,6,0)
forvalues j = 1/3 {
   forvalues i = 1/3 {
     gcause x`j' x`i',lags(40)
         mat aa[`i',1] = (`i', `j', r(F), r(p), r(F_a), r(p_a))
         }
           }
存储返回值还是有问题,老师课上提出的asum.ado程序的第三个缺陷:只能返回最后一个变量的计算结果还是无法克服。请问老师有什么解决办法?
二维码

扫码加我 拉你入群

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

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

2013-11-6 02:12:47
问题已解决。还是谢谢老师。分享一下,关于30个变量两两进行格兰杰因果检验并存储结果的代码
forvalues j = 1/30 {
   mat aa`j' = J(30,6,0)
   forvalues i = 1/30 {
    qui gcause x`j' x`i',lags(40)
         mat aa`j'[`i',1] = (`i', `j', r(F), r(p), r(F_a), r(p_a))
                 }
           }   
二维码

扫码加我 拉你入群

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

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

2013-11-7 08:49:29
超级乌龙,呵呵。不错。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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