楼主: zhiyou131613
1376 6

[数据管理求助] 不同年份数据两两配对问题求教(附带数据截取和期望效果) [推广有奖]

  • 0关注
  • 0粉丝

高中生

45%

还不是VIP/贵宾

-

威望
0
论坛币
275 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
340 点
帖子
2
精华
0
在线时间
58 小时
注册时间
2020-1-12
最后登录
2021-11-12

楼主
zhiyou131613 发表于 2021-6-2 09:47:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据截取如下
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input int year float id
  4. 1994  1
  5. 1984 21
  6. 1991 22
  7. 1994 24
  8. 1993 25
  9. 1999 30
  10. 1997 31
  11. 1998 38
  12. 1998 40
  13. 1997 63
  14. 1993 64
  15. 1997 65
  16. 1999 67
  17. 1999 68
  18. 1993 71
  19. 1999 76
  20. 1999 77
  21. 1998 83
  22. 1998 83
  23. end
复制代码

期望效果:按年份排序后,从第二年开始之后的每一年(年份可能不连续),都使用该年份所有id与之前所有年份的各个id进行两两组合形成新样本,
例如,
第一年为
year id
1984 21
第二年为
year  id
1991  22
第三年
year  id
1993  25
1993  71
1993  64
则最后形成的新表结果为
year1 yaer2 id1 id2
1984  1991  21   22
1984  1993  21   25
1984  1993  21   71
1984  1993  21   64
1991  1993  22   25
1991  1993  22   711991  1993  22   64
以此类推
本人在循环语句方面水平是在欠缺,希望各位同学和老师有所指教!



二维码

扫码加我 拉你入群

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

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

关键词:问题求教 generated generate install example

沙发
黃河泉 在职认证  发表于 2021-6-2 10:17:29
你举的例子与数据不一样,请重新叙述!

藤椅
zhiyou131613 发表于 2021-6-2 10:21:20
附上自己写的单一非循环语句,只能求得一年的结果,供大佬简单参考。
  1. g id1= id
  2. g id2= id
  3. drop id
  4. preserve
  5. drop if year>=选定年
  6. drop id2
  7. rename year year1
  8. gen x=1
  9. tempfile a
  10. save `a'
  11. restore

  12. keep if year==选定年
  13. drop id1
  14. rename year year2
  15. gen x=1
  16. joinby using `a'
复制代码

板凳
黃河泉 在职认证  发表于 2021-6-2 10:23:06

报纸
zhiyou131613 发表于 2021-6-2 10:32:31
黃河泉 发表于 2021-6-2 10:17
你举的例子与数据不一样,请重新叙述!
感谢老师指正,已修改存在的问题,希望老师能给与进一步的指导和帮助!

地板
zhiyou131613 发表于 2021-6-2 11:16:47
zhiyou131613 发表于 2021-6-2 10:21
附上自己写的单一非循环语句,只能求得一年的结果,供大佬简单参考。
我的主要问题就是如何让这个程序按照循环跑起来{:3_57:}

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

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