2017-11-11 268 views
0

我在存儲OLS迴歸的迴歸常量時遇到問題。我想計算面板數據集中每個公司的每日迴歸; obs_id標識公司和日期。保存面板迴歸常量和殘差變量

我試圖建立下面的循環。不知何故,整個樣本的保存係數是相同的。

foreach x in obs_id { 
    newey retRF MktRF SMB HML if obs_id == `x', lag(0) 
    mat A = e(b) 
    quietly replace constant = A[1, 4] if obs_id == `x' 
    matrix A = . 
} 

我希望對我的代碼有任何意見或想法。我也試過statsby,但我的示例太大而無法使用該命令。

+0

在https://www.statalist.org/forums/forum/general-stata-discussion/general/1417810-loop-error-when-saving-regression-coefficients上交叉發佈類似的問題告訴人們關於跨學科的問題,張貼是禮貌的,並沒有這樣廣泛棄用。 –

+0

對於不適用規則並向您保證這不會再發生,我表示歉意。 –

+0

感謝您的評論,但這些不是規則,只是良好實踐的建議。 –

回答

0

你的循環是在單個項目的循環和可重寫第一

newey retRF MktRF SMB HML if obs_id == obs_id, lag(0) 
mat A = e(b) 
quietly replace constant = A[1, 4] if obs_id == obs_id 
matrix A = . 

然後

newey retRF MktRF SMB HML, lag(0) 
mat A = e(b) 
quietly replace constant = A[1, 4] 
matrix A = . 

你都在猜測什麼或希望的是沒有辦法的辦法foreach作品。它不會查看名爲「循環」其不同值的變量「內部」。見help foreach

向我們展示您使用statsby進行的嘗試和/或嘗試使用來自SSC的runby。如果沒有您的數據集或類似的大小和形狀,我們無法測試您在此處報告的問題。