楼主: LucasCage
2183 7

[编程问题求助] 多期DiD的数据预处理:如何剔除虚拟变量“先1后0”的情况 [推广有奖]

  • 0关注
  • 0粉丝

大专生

91%

还不是VIP/贵宾

-

威望
0
论坛币
208 个
通用积分
0.7658
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1105 点
帖子
56
精华
0
在线时间
6 小时
注册时间
2019-3-4
最后登录
2023-9-8

楼主
LucasCage 发表于 2021-11-14 15:22:32 来自手机 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
面板数据欲采用多期DiD模型考察政策实施前后的差异,由于是公司内部政策,存在从无到有,再到取消的过程,有的企业政策虚拟变量为“0到1到0”,有的为“1到0到1”,均不合格。

希望能通过Stata指令将政策变量处理为纯粹的“从0到1”的形式。如图所示,是否能通过指令提取出“先0后1”(绿色)的部分,剔除其他部分。

PS:是否有依据说明Stata会自行排出上述顾虑,比如会自动抽取符合“先0后1”的虚拟变量,而排出不规则的部分。还请高人指点。 image20211114152232.jpg
二维码

扫码加我 拉你入群

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

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

关键词:数据预处理 虚拟变量 DID 预处理 Stata

沙发
LucasCage 发表于 2021-11-15 16:20:12 来自手机
做多期DiD的前辈应该挺多吧?DiD本身也适合试点的、不是一次性铺开的政策。对于公司内部规定,不规则的虚拟变量0、1排列应该能用Stata处理成“先0后1”的吧。只是现掌握的指令大多只能用于行数据,列数据不太会处理。

藤椅
LucasCage 发表于 2021-11-15 20:44:04 来自手机
做了一点处理,觉得应该可以作为切入点,政策虚拟变量由0变为1时,最右边的指示变量恰好由-1变为1,所以可以保留符合形式为“(-1);若干个0;-1;1;若干个0;(1)”的样本,括号内的情况可有可无。如下:

\"A\" 2000 1  0
\"A\" 2001 1  0
\"A\" 2002 1  1
\"A\" 2003 0 -1
\"A\" 2004 0  0
\"A\" 2005 0  0
\"A\" 2006 0  0
\"A\" 2007 0  0
\"A\" 2008 0  0
\"A\" 2009 0  0
\"A\" 2010 0 -1
\"A\" 2011 1  1
\"A\" 2012 1  0
\"A\" 2013 1  0
\"A\" 2014 1  0
\"A\" 2015 1  0
\"A\" 2016 1  0
\"A\" 2017 1  1
\"A\" 2018 0 -1
\"A\" 2019 0  0
\"A\" 2020 0  0
\"A\" 2021 0  0
\"A\" 2022 0  0
\"A\" 2023 0  0
\"B\" 2000 0  0
\"B\" 2001 0  0
\"B\" 2002 0  0
\"B\" 2003 0  0
\"B\" 2004 0 -1
\"B\" 2005 1  1
\"B\" 2006 1  0

现在的问题变为:样本按企业分组后,再按年份排序,是否有办法用指令保存指示变量按列符合特定规律的样本?

板凳
qianchen 发表于 2021-11-15 21:19:18
egen before=ifirst(政策),value(0) before by(企业)
drop if before==1
egen last=ilast(政策),value(1) afte by(企业)
drop if last==1
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
pengxhan + 5 + 5 + 5 精彩帖子
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 学术水平 + 8  热心指数 + 8  信用等级 + 8   查看全部评分

报纸
LucasCage 发表于 2021-11-15 21:28:41 来自手机
刚明明收到提醒有网友回复了,怎么看不见回复内容呢?疑惑

地板
qianchen 发表于 2021-11-15 22:06:09
LucasCage 发表于 2021-11-15 21:28
刚明明收到提醒有网友回复了,怎么看不见回复内容呢?疑惑
我回复了 提示需要审核

7
LucasCage 发表于 2021-11-16 11:49:53 来自手机
qianchen 发表于 2021-11-15 21:19
egen before=ifirst(政策),value(0) before by(企业)
drop if before==1
egen last=ilast(政策),value( ...
非常感谢!

8
LucasCage 发表于 2021-11-16 11:52:57 来自手机
补充一下,用上述指令前记得ssc install egenmore

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

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