楼主: 蓝精灵lsf
862 9

[数据管理求助] 命令编写求助 [推广有奖]

  • 1关注
  • 0粉丝

本科生

61%

还不是VIP/贵宾

-

威望
0
论坛币
2947 个
通用积分
0.1145
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
585 点
帖子
38
精华
0
在线时间
144 小时
注册时间
2022-1-21
最后登录
2024-6-29

楼主
蓝精灵lsf 学生认证  发表于 2023-7-5 08:55:45 |AI写论文
2论坛币
请教大神,像这种命令只是后面的id不同,前面完全一样,请问怎么更有效率一点。这是进行城市DID变量生成的。
replace time0 = 1 if year>=2013 & id == 1
replace time0 = 1 if year>=2013 & id == 2
replace time0 = 1 if year>=2013 & id == 68

最佳答案

关键词:replace place time year 变量生成

沙发
黃河泉 在职认证  发表于 2023-7-5 08:55:46
可以试试
  1. replace time0 = 1 if inlist(id,1,2,68) & year>=2013
复制代码

藤椅
蓝精灵lsf 学生认证  发表于 2023-7-6 10:34:11
黃河泉 发表于 2023-7-5 08:55
可以试试
想再请教黄老师,现在知道了每个城市did的变量,但是想要生成城市-城市-年份变量,比如在2015年山东相较于北京实行了政策,则did变量设置为1,2015年山东相比较于河南没有该政策,则为0.这种命令要怎么写?非常感谢!

板凳
黃河泉 在职认证  发表于 2023-7-7 19:47:51
蓝精灵lsf 发表于 2023-7-6 10:34
想再请教黄老师,现在知道了每个城市did的变量,但是想要生成城市-城市-年份变量,比如在2015年山东相较于 ...
请用 dataex 给出代表性资料。

报纸
蓝精灵lsf 学生认证  发表于 2023-7-8 15:09:28
黃河泉 发表于 2023-7-7 19:47
请用 dataex 给出代表性资料。
以北京、天津、大同为例,在2013年北京和天津都实行了政策,则希望生成新变量北京-天津-0;2013年但是大同没有施行,则生成新变量为北京-大同-1(也就是北京相较于大同的新虚拟变量为1)。老师,我应该最后是需要200个城市*199个城市*16年,请问如何用当前的数据生成。非常感谢您!
id        year        pro        time        sta
1        2007        北京        0        0
1        2008        北京        0        0
1        2009        北京        0        0
1        2010        北京        0        0
1        2011        北京        0        0
1        2012        北京        0        0
1        2013        北京        1        12
1        2014        北京        1        12
1        2015        北京        1        12
1        2016        北京        1        12
1        2017        北京        1        12
1        2018        北京        1        12
1        2019        北京        1        12
1        2020        北京        1        12
1        2021        北京        1        12
1        2022        北京        1        12
2        2007        天津        0        0
2        2008        天津        0        0
2        2009        天津        0        0
2        2010        天津        0        0
2        2011        天津        0        0
2        2012        天津        0        0
2        2013        天津        1        15
2        2014        天津        1        15
2        2015        天津        1        15
2        2016        天津        1        15
2        2017        天津        1        15
2        2018        天津        1        15
2        2019        天津        1        15
2        2020        天津        1        15
2        2021        天津        1        15
2        2022        天津        1        15



15        2013        大同市        0        0
15        2014        大同市        1        6
15        2015        大同市        1        6
15        2016        大同市        1        6
15        2017        大同市        1        6
15        2018        大同市        1        6
15        2019        大同市        1        6
15        2020        大同市        1        6
15        2021        大同市        1        6
15        2022        大同市        1        6

地板
黃河泉 在职认证  发表于 2023-7-8 22:34:11
蓝精灵lsf 发表于 2023-7-8 15:09
以北京、天津、大同为例,在2013年北京和天津都实行了政策,则希望生成新变量北京-天津-0;2013年但是大同 ...
1. 所以你最终是要一个虚拟变量吧?2. 为啥是 200*199 城市呢? 3. sta 没有用吧?

7
蓝精灵lsf 学生认证  发表于 2023-7-9 10:34:23
黃河泉 发表于 2023-7-8 22:34
1. 所以你最终是要一个虚拟变量吧?2. 为啥是 200*199 城市呢? 3. sta 没有用吧?
你好老师,我最终需要的是一个虚拟变量,以为200城市*199(去除掉城市本身);当前您看到的城市与城市的一对多匹配是用的stata生成的,第4列就是他们政策实施的虚拟变量。
我现在需要的就是当在同一年份,两个城市的第四列虚拟变量都为1时(也就是在同一年,两者都有该政策),那么在有该政策的城市后面 ,生成一个新虚拟变量为0.当在同一年,两者第四列的虚拟变量不相同时,则有该政策的年份后面生成虚拟变量1.

8
蓝精灵lsf 学生认证  发表于 2023-7-9 10:38:10
黃河泉 发表于 2023-7-8 22:34
1. 所以你最终是要一个虚拟变量吧?2. 为啥是 200*199 城市呢? 3. sta 没有用吧?
当前您看到的面板,学生需要1.变成1对多的面板,比如北京和剩余的199个城市进行匹配。2.就是根据第四列的政策实施时间,若一个城市相较于另一个城市实施了政策,则为1的新虚拟变量;在同一年份,两者均未实施,或者均实施了,则生成新虚拟变量为0.谢谢老师的赐教!

9
黃河泉 在职认证  发表于 2023-7-9 21:21:26
蓝精灵lsf 发表于 2023-7-9 10:38
当前您看到的面板,学生需要1.变成1对多的面板,比如北京和剩余的199个城市进行匹配。2.就是根据第四列的 ...
请看看: https://www.stata.com/support/fa ... asets-to-all-pairs/

10
蓝精灵lsf 学生认证  发表于 2023-7-10 11:13:37
黃河泉 发表于 2023-7-9 21:21
请看看: https://www.stata.com/support/faqs/data-management/expanding-datasets-to-all-pairs/。
学生已经应用stata1解决这个问题了,非常感谢您,祝您事业顺利。

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

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