2016-03-05 59 views
0

我有一個數據集,包含3個股票的三個時間序列觀察值,以及每個變量的r和v值。我的數據是以寬的形式組織的,即我有r1,r2,r3v1,v2,v3,時間索引爲t。我需要使用循環(不是statsby /其他長格式解決方案)運行三個迴歸,即r1 v1,r2 v2r3 v3。到目前爲止,我只設法寫:如何簡化兩個變量列表的循環

tsset t 
foreach r of varlist r1 r2 r3 { 
    foreach v of varlist v1 v2 v3 { 
    reg `r' `v' 
    } 
} 

這顯然運行在那裏只需要3 9個迴歸。我如何簡化此循環以僅運行我需要的迴歸?

回答

2

這是一個循環,所以沒有編程兩項。

forval j = 1/3 { 
    reg r`j' v`j' 
} 

關鍵是要看到什麼變化:它的後綴1 2 3。每個循環周圍都需要rv,因此可以作爲常量連接到代碼中。