楼主: isabellazxx
716 2

[编程问题求助] 如何根据对变量的逻辑判断,生成新的变量 [推广有奖]

  • 0关注
  • 0粉丝

高中生

40%

还不是VIP/贵宾

-

威望
0
论坛币
8398 个
通用积分
7.4836
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
59 点
帖子
5
精华
0
在线时间
50 小时
注册时间
2012-2-2
最后登录
2022-1-18

楼主
isabellazxx 发表于 2021-7-5 22:50:35 |AI写论文
20论坛币
请教各位大神,面板数据,如何根据Var1,生成一个新的虚拟变量Var2?要求:如果对不同的id的Var1在整个样本时间里(2016m1~2016m5)第一次出现负值,例如2016m4第一次出现负值,生成一个新的虚拟变量Var2,在Var1第一次出现负值以前(2016m4以前)都等于0,在2016m4之后包括2016m4都等于1。


例如:
idtimeVar1Var2

1

2016m1

5

0

1

2016m2

2

0

1

2016m3

7

0

1

2016m4

-10

1

1

2016m5

2

1

2

2016m1

0

0

2

2016m2

0

0

2

2016m3

3

0

2

2016m4

-4

1

2

2016m5

-1

1

3

2016m1

8

0

3

2016m2

2

0

3

2016m3

0

0

3

2016m4

0

0

3

2016m5

-6

1

4

2016m1

0

0

4

2016m2

3

0

4

2016m3

0

0

4

2016m4

-2

1

4

2016m5

0

1

最佳答案

蓝色 查看完整内容

如何实现将首次取值为1的年份及后续的年份赋值为1? https://bbs.pinggu.org/forum.php?mod=viewthread&tid=10630140&fromuid=902 都是类似的问题
关键词:虚拟变量 time 面板数据 VaR Tim

沙发
蓝色 发表于 2021-7-5 22:50:36
如何实现将首次取值为1的年份及后续的年份赋值为1?
https://bbs.pinggu.org/forum.php ... 140&from^^uid=902

都是类似的问题

  1. gen index=1 if var1<0
  2. bys id: gen want=sum(index)
  3. replace want=1 if want>1
复制代码
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
isabellazxx + 1 + 1 + 1 精彩帖子
黃河泉 + 3 + 3 + 3 精彩帖子

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

藤椅
isabellazxx 发表于 2021-7-6 21:50:53
蓝色 发表于 2021-7-5 22:50
如何实现将首次取值为1的年份及后续的年份赋值为1?
https://bbs.pinggu.org/forum.php?mod=viewthread&t ...
非常详细,感谢感谢~

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

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