全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1018 2
2023-07-26
各位大佬!我在做两期经典DID的时候,需要生成控制组和实验组,数据基本形态是这样的

id        t        p        treat
1        0        0        1
1        1        1        1
2        0        0        0
2        1        0        0
3        0        0        0
3        1        0        0
4        0        0        0
4        1        0        0
——————————————————
id是个体,year是政策干预时间前后,p为是否有政策干预。其中t=0时,p=0;t=1时,部分p=1,部分p=0。

此时我需要生成一个变量treat,如表所示当t=1且p=1时,id=1的treat=1;当t=1且p=0时,id=2 id=3 id=4等的treat=0

目的就是为了生成控制组和实验组,请问在stata中用什么code可以实现?万分感谢!


二维码

扫码加我 拉你入群

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

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

全部回复
2023-7-26 12:09:44
可以使用Stata的gen和replace命令来创建treat变量。你可以先创建一个所有值都为0的treat变量,然后将满足t=1且p=1的观察设置为1。以下是具体的步骤:
gen treat = 0 // 创建一个新的变量treat,所有的值都设为0
replace treat = 1 if t==1 & p==1 // 如果t=1且p=1,则将treat设为1
在这个代码中,gen treat = 0命令创建了一个新的变量treat,并将所有的值都设为0。然后replace treat = 1 if t==1 & p==1命令将treat的值改为1,但只对满足t=1且p=1的观察进行这个操作。
这样生成了treat变量,它将数据集分为了两个组:实验组(treat=1)和控制组(treat=0)。
二维码

扫码加我 拉你入群

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

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

2023-7-26 16:42:51
att006 发表于 2023-7-26 12:09
可以使用Stata的gen和replace命令来创建treat变量。你可以先创建一个所有值都为0的treat变量,然后将满足t ...
感谢前辈
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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