楼主: shentanming
1078 6

[编程问题求助] 求一小段stata代码,如图所示 [推广有奖]

  • 5关注
  • 1粉丝

已卖:3份资源

硕士生

56%

还不是VIP/贵宾

-

威望
0
论坛币
688 个
通用积分
1.0016
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1942 点
帖子
90
精华
0
在线时间
217 小时
注册时间
2010-12-29
最后登录
2020-7-10

楼主
shentanming 学生认证  发表于 2019-11-15 22:09:34 |AI写论文
30论坛币
如图,A的keyword,最早出现“1”的年份是2001,所以A的want=2001

同时,B的keyword,最早出现“1”的年份是2003,所以B的want=2003

示例文件见附件

stata该如何写代码?

最早出现的年份提问.png


示例数据如下:
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str1 ID int year str1 keyword float want
  4. "A" 2000 "0" 2001
  5. "A" 2001 "1" 2001
  6. "A" 2002 "0" 2001
  7. "A" 2003 "1" 2001
  8. "A" 2004 "1" 2001
  9. "A" 2005 "1" 2001
  10. "B" 2000 "0" 2003
  11. "B" 2001 "0" 2003
  12. "B" 2002 "0" 2003
  13. "B" 2003 "1" 2003
  14. "B" 2004 "0" 2003
  15. "B" 2005 "1" 2003
  16. end
复制代码



求出现该ID下keyword最早出现的年份.dta (3.14 KB)

最佳答案

sungmoo 查看完整内容

bys ID (year): g w=(sum(real(keyword))==1)*year*(sum(real(keyword[_n-1]))==0) by ID: egen wa=max(w)

沙发
sungmoo 发表于 2019-11-15 22:09:35
bys ID (year): g w=(sum(real(keyword))==1)*year*(sum(real(keyword[_n-1]))==0)
by ID: egen wa=max(w)
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 精彩帖子

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

藤椅
diannaoasd 发表于 2019-11-16 12:19:06

生成wanti,距离want还差一点,求大佬继续补充

destring keyword, replace
bys ID:gen s = sum(keyword)
gen wanti=year if keyword == 1 & keyword[_n-1]!=1 & s==1
wanti want.png

板凳
shentanming 学生认证  发表于 2019-11-16 13:38:42
sungmoo 发表于 2019-11-16 12:59
bys ID (year): g w=(sum(real(keyword))==1)*year*(sum(real(keyword[_n-1]))==0)
by ID: egen wa=max(w)
非常感谢,不知道bys ID 和by ID,有什么区别?

报纸
黃河泉 在职认证  发表于 2019-11-16 15:54:00
diannaoasd 发表于 2019-11-16 12:19
destring keyword, replace
bys ID:gen s = sum(keyword)
gen wanti=year if keyword == 1 & keyword[_n- ...
或试试
  1. destring keyword, replace
  2. gen tem = year*keyword if keyword == 1
  3. bys ID: egen wanted = min(tem)
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
diannaoasd + 1 + 1 + 1 精彩帖子

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

地板
diannaoasd 发表于 2019-11-19 19:40:18
黃河泉 发表于 2019-11-16 15:54
或试试
非常感谢您~前几天没有登录论坛,所以回复迟了,谢谢~~

7
黃河泉 在职认证  发表于 2019-11-20 06:20:45
diannaoasd 发表于 2019-11-19 19:40
非常感谢您~前几天没有登录论坛,所以回复迟了,谢谢~~
No problem at all.

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

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