楼主: 冲鸭,经济
823 3

[面板数据求助] 多期did安慰剂检验如图,求问有什么问题吗?命令和结果如下: [推广有奖]

  • 0关注
  • 0粉丝

本科生

2%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
4.9526
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
92 点
帖子
7
精华
0
在线时间
135 小时
注册时间
2019-3-13
最后登录
2024-3-2

楼主
冲鸭,经济 发表于 2023-9-17 23:53:08 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
clear
forvalue i=1/500{
mat b = J(500,1,0)
mat se = J(500,1,0)
mat p = J(500,1,0)
use E:\山大\论文\混合所有制改革\整合后的数据\总数据.dta,clear
xtset id year
keep if year==2015
sample 110, count
keep obs_id
save "matchid.dta",replace
merge 1:m obs_id using E:\山大\论文\混合所有制改革\整合后的数据\总数据.dta
gen treat1=(_merge==3) //生成伪处理组的虚拟变量
save matchid`i'.dta,replace

use E:\山大\论文\混合所有制改革\整合后的数据\总数据.dta,clear
bsample 1,strata(obs_id)           //在每个id中都随机选取一年
keep year
save matchyear.dta,replace
mkmat year,matrix(sampleyear)      //生成伪怎能政策

use matchid`i'.dta,replace
xtset obs_id year
gen time1=0
foreach j of numlist 1/598{
replace time1=1 if (obs_id==`j'&year>=sampleyear[`j',1])
}
gen did1=time1*treat1
qui xtreg BTD did1 TobinQ 总资产净利润率ROAB LEV AGE SIZE INTANG INVENT PPE i.year,fe
    mat b[`i',1] = _b[did1]
    mat se[`i',1] = _se[did1]
    scalar df_r = e(N) - e(df_m) -1
    mat p[`i',1] = 2*ttail(df_r,abs(_b[did]/_se[did]))
}

svmat b, names(coef)
svmat se, names(se)
svmat p, names(pvalue)
drop if pvalue1 == .
label var pvalue1 p值
label var coef1 估计系数
save placebo.dta,replace  // 保存数据
*-删除临时文件
forvalue i=1/500{
    erase  "matchid`i'.dta"
}
graph set window fontface     "Times New Roman"
graph set window fontfacesans "宋体"  // 设置图形输出的字体
twoway (scatter pvalue1 coef1,xlabel(-0.004(0.001)0.004, format(%06.4f)) yline(0.1,lp(shortdash)) xline(0.0034662,lp(shortdash)) xtitle("估计系数") ytitle("P值") msymbol(smcircle_hollow) mcolor(red) legend(off)) (kdensity coef1,title("安慰剂检验"))




二维码

扫码加我 拉你入群

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

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

关键词:DID 安慰剂 forvalue kdensity replace

图片1.png (39.14 KB)

图片1.png

沙发
冲鸭,经济 发表于 2023-9-18 13:00:00
已解决谢谢

藤椅
cdefg67 发表于 2023-10-22 20:16:33
冲鸭,经济 发表于 2023-9-18 13:00
已解决谢谢
请问是怎么解决的呢,求问

板凳
冲鸭,经济 发表于 2023-10-22 21:35:08
cdefg67 发表于 2023-10-22 20:16
请问是怎么解决的呢,求问
命令搞错了。设置矩阵的命令不应该在循环语句里,
正确的应该是下面这样:
clear
mat b = J(500,1,0)
mat se = J(500,1,0)
mat p = J(500,1,0)
forvalue i=1/500{
use E:\山大\论文\混合所有制改革\整合后的数据\总数据.dta,clear
………………

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-7 15:09