全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
894 0
2022-07-25
最近用stata采用20年260个id面板数据开展合成控制法 (Synthetic Control Method)分析,进行安慰剂检验出现错误命令是
xtset id year
tempname resmat //设定一个临时矩阵叫做resmat
forval i=1/100{
qui synth y x1 x2 x3 x4 x5 x6, trunit(`i') trperiod(2018) counit(1(1)40 201(1)260) xperiod(2001(1)2010) keep(SCM_synth_`i',replace)
matrix `resmat' = nullmat(`resmat') \ e(RMSPE) //矩阵用来存放每个州进行合成控制的rmspe值
local names `"`names' `"`i'"'"'
}
mat colnames `resmat' = "RMSPE" //矩阵的列名定义为RMSPE
mat rownames `resmat' = `names' //矩阵的行名为names
matlist `resmat' , row("Treated Unit")
命令执行到这,就提示上述错误:treated unit appears among control units  - check co() and tr() r(198);

似乎是forval i=1/100,与counit(1(1)40 201(1)260),不能有交集,比如换成forval i=1/60,counit( 201(1)260)或者删掉counit这个命令会好一点。
选择项" counit(numlist) "用于指定潜在的控制地区(即 donor pool,其中 counit 表示 control units),默认为数据集中的除处理地区以外的所有地区。

二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群