全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
795 1
2022-07-19


各位大神好,我有9组变量,我想求他们两两的协整关系,也就是说36组协整关系,我写了个循环如下,但是VEC会报错同一变量的回归,我怎么样能在foreach里嵌套if语句 让他两个变量相同的时候就break或是跳到下一个,求大神赐教!

local vars "AUDSPOT CADSPOT CHFSPOT EURSPOT GBPSPOT JPYSPOT NOKSPOT NZDSPOT SEKSPOT"
foreach i of varlist `vars' {
    foreach j of varlist `vars' {
                if `i'== `j' {
                        break
                        }
                else `i'!= `j'{
                        vec `i' `j'
                        }
                }
                }

报错显示
二维码

扫码加我 拉你入群

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

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

全部回复
2022-7-20 08:41:58
已解决

// Construct the list and count the items.
unab varlist: apple-wmt
local k: word count `varlist'
// Loop over distinct pairs of variables:
// 1,2; 1,3, ... 2,3, ...; k-1, k
local km1 = `k' - 1  // k minus 1
forval i = 1/`km1' {
   local ip1 = `i' + 1   // i plus 1
   forval j = `ip1'/`k' {
      local v1: word `i' of `varlist'
      local v2: word `j' of `varlist'
      di as result _newline "working with `v1' and `v2'"  
      vecrank `v1' `v2' // trivial example of using v1 and v2
   }
}
来源https://www.statalist.org/forums ... -pairs-in-a-dataset
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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