楼主: quwukong
2521 5

[面板数据求助] 如何生成多个限定条件新变量 [推广有奖]

  • 0关注
  • 1粉丝

本科生

66%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.2001
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
653 点
帖子
45
精华
0
在线时间
132 小时
注册时间
2015-6-9
最后登录
2024-11-8

楼主
quwukong 发表于 2020-8-20 16:48:45 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
论坛朋友好,我现在是有两年(2000,2005)的面板数据,因为要做DID,treatment group是公司(companyid)2000年有5个专技员工,2005年有10个专技员工。control group是2000年有5个专技员工,2005年没有变化也是5个专技员工。差异原因在于2002年的时候地区出台了政策,符合资格的公司可拿到专项资金雇佣更多的技术人员。
请问要怎么生成变量D,D=1当2000年worker=5, 2005年worker=10。 D=0,2000年和2005年均为5。
注意:数据中存在一些公司2000年专技员工是1 2 3 4 或6的,但这里要求一定是5。
感谢!
二维码

扫码加我 拉你入群

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

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

关键词:新变量 treatment company control worker

沙发
DΘstinyじò 发表于 2020-8-20 18:49:42
如果数据是平衡面板数据,尝试以下代码:
  1. bys companyid (year): gen     D=1  if  worker[1]==5 & worker[2]==10
  2. bys companyid (year): replace D=0  if  worker[1]==5 & worker[2]==5
复制代码

藤椅
quwukong 发表于 2020-8-20 20:06:01
DΘstinyじò 发表于 2020-8-20 18:49
如果数据是平衡面板数据,尝试以下代码:
您好~我的数据不是平衡面板数据,2005年有些公司不在了。
然后我试了一下您提供的代码,stata提示command gen  is unrecognized
很好奇为什么gen都会提示无法识别。

板凳
DΘstinyじò 发表于 2020-8-20 21:35:10
quwukong 发表于 2020-8-20 20:06
您好~我的数据不是平衡面板数据,2005年有些公司不在了。
然后我试了一下您提供的代码,stata提示comman ...
非平衡面板数据,尝试以下代码:
  1. bys companyid (year): gen     D=1  if  worker[1]==5 & worker[2]==10 & _N>1
  2. bys companyid (year): replace D=0  if  worker[1]==5 & worker[2]==5  & _N>1
复制代码
不是系统提示gen无法识别,其实有特殊符号没有显示出来,因为浏览器的原因,我猜你用的是360一类的,使用的是极速模式,在极速模式下点击了复制代码,就会有一些显示不出来的特俗符号,从而导致代码错误。手动复制代码或者将模式改为兼容模式将解决该问题。

报纸
DΘstinyじò 发表于 2020-8-20 21:38:02
quwukong 发表于 2020-8-20 20:06
您好~我的数据不是平衡面板数据,2005年有些公司不在了。
然后我试了一下您提供的代码,stata提示comman ...
另外就是建议用dataex命令给出示例数据,将数据的结构尽可能详细说明。

地板
quwukong 发表于 2020-8-21 18:45:29
DΘstinyじò 发表于 2020-8-20 21:38
另外就是建议用dataex命令给出示例数据,将数据的结构尽可能详细说明。
代码OK了,非常感谢您的建议,以后会注意,谢谢谢谢~

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

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