楼主: lwx5025
1099 4

[数据管理求助] 请问怎么对区间同时赋值 [推广有奖]

  • 2关注
  • 0粉丝

本科生

9%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
31.7632
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
395 点
帖子
22
精华
0
在线时间
136 小时
注册时间
2021-9-24
最后登录
2024-8-30

楼主
lwx5025 发表于 2021-9-26 21:49:16 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求各问大神解答,谢谢!
* Example generated by -dataex-. To install: ssc install dataex
clear
input double id float(year s n)
1 2013 0 0
1 2014 0 0
1 2015 0 0
1 2016 0 0
1 2017 0 0
1 2018 0 0
2 2013 0 0
2 2014 0 0
2 2015 0 0
2 2016 0 0
2 2017 0 0
2 2018 0 0
4 2013 0 0
4 2014 0 0
4 2015 0 0
4 2016 1 0
4 2017 0 0
4 2018 0 0
end
如上所示,id相同的为1组,如何将每一组中s列出现1时,同时将n列2016年,2017年,2018年赋值为1???

二维码

扫码加我 拉你入群

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

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

关键词:generated generate install example double

回帖推荐

wdlbcj 发表于4楼  查看完整内容

. bys id: egen xx=mean(s) . replace n=1 if xx!=0&inlist(year,2016,2017,2018)

沙发
ritaing 发表于 2021-9-27 12:02:06
  1. replace n=1 if s==1 & inlist(year,2016,2017,2018)
复制代码

藤椅
lwx5025 发表于 2021-9-27 16:56:30
ritaing 发表于 2021-9-27 12:02
谢谢大神,不过这个指令好像行不通。我想要得到的是,如果2013-2018年任意一年的s=1,那么令2016年、2017年、2018年的n同时变为1

板凳
wdlbcj 学生认证  发表于 2021-9-27 22:18:39

. bys id: egen xx=mean(s)

. replace n=1 if xx!=0&inlist(year,2016,2017,2018)
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员

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

报纸
lwx5025 发表于 2021-9-28 18:03:25
wdlbcj 发表于 2021-9-27 22:18
. bys id: egen xx=mean(s)

. replace n=1 if xx!=0&inlist(year,2016,2017,2018)
解决了,谢谢

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

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