Hey guys!
I'm using stata do—file to do a multi—period PSM appending on a panel dataset(which will then be used for did regression), the code is as follows:
forvalues i = 2007/2021{
use "C:\Users\lcg19\Desktop\论文\新数据分析2(空气质量标准对违约风险的 影响)\ dataset 6.24.dta",clear
keep if Year==`i'
set seed 20220626
gen tmp=runiform()
sort tmp
psmatch2 Treated $ctrlvars , out(DDBhsh) logit neighbor(2) common ate
drop if _weight==.
save psmdid_`i',replace
}
use psmdid_2007,clear
forvalues i = 2008/2021{
append using psmdid_`i'
}
and after running stata gives me:
do "C:\Users\lcg19\Desktop\论文\新数据分析2(空气质量标准对违约风险的影响)\ 稳健性检验\PSMDID逐期匹配.do"
.
. forvalues i = 2007/2021{
2. use "C:\Users\lcg19\Desktop\论文\新数据分析2(空气质量标准对违约风险的影响)\ dataset 6.24.dta",clear
3. keep if Year==`i'
4. set seed 20220626
5. gen tmp=runiform()
6. sort tmp
7. psmatch2 Treated $ctrlvars , out(DDBhsh) logit neighbor(2) common ate
8. drop if _weight==.
9. save psmdid_`i',replace
10. }
(0 observations deleted)
variable tmp already defined
r(110);
I'm wondering what's wrong with my program, can anybody help me out? Thanks a lot!
I'm using stata do—file to do a multi—period PSM appending on a panel dataset(which will then be used for did regression), the code is as follows:
forvalues i = 2007/2021{
use "C:\Users\lcg19\Desktop\论文\新数据分析2(空气质量标准对违约风险的 影响)\ dataset 6.24.dta",clear
keep if Year==`i'
set seed 20220626
gen tmp=runiform()
sort tmp
psmatch2 Treated $ctrlvars , out(DDBhsh) logit neighbor(2) common ate
drop if _weight==.
save psmdid_`i',replace
}
use psmdid_2007,clear
forvalues i = 2008/2021{
append using psmdid_`i'
}
and after running stata gives me:
do "C:\Users\lcg19\Desktop\论文\新数据分析2(空气质量标准对违约风险的影响)\ 稳健性检验\PSMDID逐期匹配.do"
.
. forvalues i = 2007/2021{
2. use "C:\Users\lcg19\Desktop\论文\新数据分析2(空气质量标准对违约风险的影响)\ dataset 6.24.dta",clear
3. keep if Year==`i'
4. set seed 20220626
5. gen tmp=runiform()
6. sort tmp
7. psmatch2 Treated $ctrlvars , out(DDBhsh) logit neighbor(2) common ate
8. drop if _weight==.
9. save psmdid_`i',replace
10. }
(0 observations deleted)
variable tmp already defined
r(110);
I'm wondering what's wrong with my program, can anybody help me out? Thanks a lot!

Comment