楼主: MCP3
1166 2

[面板数据求助] stata怎么生成控制组和实验组? [推广有奖]

  • 0关注
  • 0粉丝

副教授

48%

还不是VIP/贵宾

-

威望
0
论坛币
203 个
通用积分
0.3319
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
14093 点
帖子
91
精华
0
在线时间
1680 小时
注册时间
2020-3-7
最后登录
2025-7-12

楼主
MCP3 学生认证  发表于 2023-7-26 11:37:49 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位大佬!我在做两期经典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可以实现?万分感谢!


二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 实验组 treat year

沙发
att006 发表于 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)。

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

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

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