Stata命令自查2.0
生活随笔
收集整理的這篇文章主要介紹了
Stata命令自查2.0
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
stata中如何先生成一個變量的中值,再根據這個中值進行分組生成虛擬變量,大于等于中值的取值為1,否
//第一反應代碼如下:egen loan_ratio_med = medium(loan_ratio)//但是這樣做會報錯: unknown egen function medium()//正確的做法是:egen x_p50 = pctile(x), p(50)stata怎么求指定時間段的均值
bysort Stkcd: egen mean5_loan = mean(loan_ratio) if Year>=2000 & Year <=2006面板數據向下填充——參考:stata面板數據向下填充_大太陽小白的博客-CSDN博客_stata填充數據)
//在用stata處理數據的時候,經常需要按條件進行計算,此時用到if命令,但是我們希望賦值的時候不要按條件賦值,此時需進行缺失值的填充 ?bysort Stkcd: egen mean5_loan = mean(loan_ratio) if Year>=2000 & Year <=2006? bys Stkcd (Year):replace mean5_loan = mean5_loan[_n-1] if mean5_loan[_n-1]!=.Stata怎么實現平行趨勢檢驗?參考:DID大法:如何用Stata做平行趨勢檢驗 - 知乎 (zhihu.com)
DID的使用前提是滿足平行性趨勢假設,即在沒有外生政策沖擊的情況下, 實驗組和對照組的結果的變化趨勢應該近似一致。
第一種方法就是繪制處理組和控制組的時間趨勢圖。從圖中可以看出,在政策時點之前,處理組和控制組還是具有那么一丟丟的相似性,y都保持著相似的增長趨勢,當然這種趨勢也只能說有一點相似不能說相同,可能是構造出來的數據的效果不是特別好。總之,這種方法僅憑肉眼觀察較為粗糙,想要得到更為準確、科學的結論還是應該使用事件研究法。
egen mean_y=mean(y), by(year treat) graph twoway (connect mean_y year if treat==1,sort) (connect mean_y year if treat==0,sort lpattern(dash)), /// xline(1994,lpattern(dash) lcolor(gray)) /// ytitle("y") xtitle("年度") /// ylabel(,labsize(*0.75)) xlabel(,labsize(*0.75)) /// legend(label(1 "處理組") label( 2 "控制組")) ///圖例 xlabel(1990 (1) 1999) graphregion(color(white)) //白底第二種方法就是事件研究法,我們首先生成年份虛擬變量與處理組虛擬變量的交互項,將這些交互項作為解釋變量進行回歸。交互項的系數反映的就是特定年份處理組和控制組之間的差異,我們特別希望看到的就是政策時點前的虛擬變量與處理組虛擬變量的交互項的系數不顯著。不過,在這里要特別注意是我們需要選擇一期作為參照組,否則會有完全共線性問題(一般都是drop掉-1期)。
gen policy = year - 1994 tab policy replace policy = -3 if policy < -3 replace policy = 3 if policy > 3 //首先生成年份虛擬變量與實驗組虛擬變量的交互項 forvalues i = 3(-1)1{gen pre_`i' = (policy == -`i' & treat == 1) }gen current = (policy == 0 & treat == 1)forvalues j = 1(1)3{gen post_`j' = (policy == `j' & treat == 1) }drop pre_1 //將政策前第一期作為基準組,很重要!!!xtreg y pre_* current post_* i.year, fe r //將這些交互項作為解釋變量進行回歸?
總結
以上是生活随笔為你收集整理的Stata命令自查2.0的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Simulink代码生成:Simulin
- 下一篇: 计算机硬件信息被修改怎么还原,修改bio