楼主: 啊刘刘liu
1169 0

[学习资料] stata代码学习丨psmdid逐年匹配 [推广有奖]

  • 1关注
  • 0粉丝

已卖:2份资源

博士生

16%

还不是VIP/贵宾

-

威望
0
论坛币
30 个
通用积分
0.0303
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
303 点
帖子
24
精华
0
在线时间
500 小时
注册时间
2021-8-13
最后登录
2025-12-4

楼主
啊刘刘liu 在职认证  发表于 2024-10-28 18:58:22 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
**5.3.3 PSM-DDD
clear
use "C:\Users\LXJ\Desktop\企业层面实证\2001-2022全样本.dta"
//最近邻匹配 1:1
forvalue i = 2008/2018{
      preserve
          capture {
              keep if year == `i'
              set seed 123
              gen  ranorder = runiform()
              sort ranorder

              psmatch2 treat $C, outcome(Y) logit neighbor(1)  ///
                                        ties common ate caliper(0.05)
                                                                               
                          sort _id
                          gen pair=_id if _treat==0
                          replace pair=_n1 if _treat==1
                          bysort pair :egen paircount=count(pair)
                          drop if paircount!=2
                          
              save `i'.dta, replace
              }
      restore
      }
clear all
use 2008.dta, clear
forvalue k =2009/2018 {
      capture {
          append using `k'.dta
          }
      }
save "psmdata.dta", replace
//PSM-DDD(使用满足共同支持假设的样本)
reghdfe  if _support==1,absorb( ) vce(cl  )

forvalue i =2008/2018 {
    erase `i'.dta
      }
erase psmdata.dta
//半径匹配
clear
use "C:\Users\LXJ\Desktop\企业层面实证\2001-2022全样本.dta"
forvalue i = 2008/2018{
      preserve
          capture {
              keep if year == `i'
              set seed 123
              gen  ranorder = runiform()
              sort ranorder

              psmatch2 treat $C, outcome(Y) logit radius  ///
                                        ties common ate caliper(0.05)
                          drop if _weight==.
              save `i'.dta, replace
              }
      restore
      }
clear all
use 2008.dta, clear
forvalue k =2009/2018 {
      capture {
          append using `k'.dta
          }
      }
save "psmdata.dta", replace
//PSM-DDD(使用满足共同支持假设的样本)
reghdfe  if _support==1,absorb( ) vce(cl  )

forvalue i =2008/2018 {
    erase `i'.dta
      }
erase psmdata.dta

//核匹配
clear
use "C:\Users\LXJ\Desktop\企业层面实证\2001-2022全样本.dta"
forvalue i = 2008/2018{
      preserve
          capture {
              keep if year == `i'
              set seed 123
              gen  ranorder = runiform()
              sort ranorder

              psmatch2 treat $C, outcome(Y) logit kernel  ///
                                        ties common ate caliper(0.05)
              drop if _weight==.
              save `i'.dta, replace
              }
      restore
      }
clear all
use 2008.dta, clear
forvalue k =2009/2018 {
      capture {
          append using `k'.dta
          }
      }
save "psmdata.dta", replace
//PSM-DDD(使用满足共同支持假设的样本)
reghdfe  if _support==1,absorb( ) vce(cl  )

forvalue i =2008/2018 {
    erase `i'.dta
      }
erase psmdata.dta




///图片格式转换
scheme(s1mono)



twoway (scatter pvalue1 coef1, msymbol(smcircle_hollow) mcolor(black)) (kdensity coef1 ,yaxis(2) lp(solid)) ,  title("") xlabel(-0.009(0.003)0.009 ,format(%6.3f) angle(0)) ylabel(0(0.2)1, format(%7.1f) angle(0) nogrid axis(1)) ylabel(0(25)150, angle(0) nogrid axis(2)) xtitle("回归系数") ytitle("P" "值" ,orientation(horizontal) axis(1)) ytitle("核" "密" "度" ,orientation(horizontal)  axis(2)) xline(0, lwidth(0.2) lp(shortdash)) xline(-0.00830, lwidth(0.3) lp(shortdash)) yline(0.1,lwidth(0.2) lp(dash)) legend(label(1 "P值") label( 2 "核密度")) plotregion(style(none)) graphregion(color(white)) scheme(s1mono)
二维码

扫码加我 拉你入群

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

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

关键词:Stata tata PSM DID orientation
相关内容:stata代码学习

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-5 18:04