楼主: 罗易思
791 0

[面板数据求助] 安慰剂检验无法正常运行 [推广有奖]

  • 0关注
  • 0粉丝

高中生

15%

还不是VIP/贵宾

-

威望
0
论坛币
9 个
通用积分
1.0345
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
557 点
帖子
13
精华
0
在线时间
26 小时
注册时间
2022-3-8
最后登录
2023-3-31

楼主
罗易思 学生认证  发表于 2023-1-13 20:31:01 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
代码:
set mat 500
mat b = J(500,1,0)
mat se = J(500,1,0)  
mat p = J(500,1,0)
  forvalues i=1/500{
use "C:\Users\38222\Desktop\12-18(4).dta", clear
xtset id year  
keep if year==2018   
sample 49, count   
keep id  
save match_id.dta, replace   
merge 1:m id using "C:\Users\38222\Desktop\12-18(4).dta"
gen treat1 = (_merge == 3) \\在这一步出现了问题
gen period = (year >= 2014)
gen did1 = treat1*period
reghdfe happiness did $person ,absorb(id year) vce(cluster id)

能够正常运行,但是无法出现数据(如图1)
安慰剂检验1.png


但如果把原代码中的gen treat1 = (_merge == 3) \\在这一步出现了问题
gen period = (year >= 2014)
gen did1 = treat1*period
改为replace  treat = (_merge == 3)
replace period = (year >= 2014)
replace did = treat*period
可以运行,但是不通过检验(如图2)
placebo_test_Coefficient2.png

是根据网上代码进行跑的~ 原代码是gen treat = (_merge == 3)
gen period = (year >= 2014)
gen did = treat*period

但是因为我这样运行 会显示treat、did变量已存在 所以自己在后面加了一个1(即treat1、did1)但是却跑不出来
可以问问各位大神 代码哪里有错吗

二维码

扫码加我 拉你入群

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

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

关键词:安慰剂 forvalues Happiness forvalue replace

placebo_test_Coefficient2.png (30.32 KB)

placebo_test_Coefficient2.png

placebo_test_Coefficient2.png (30.32 KB)

placebo_test_Coefficient2.png

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-9 10:31