楼主: refound
2476 2

[编程问题求助] stata前后期多个变量比较 [推广有奖]

  • 0关注
  • 1粉丝

已卖:277份资源

硕士生

26%

还不是VIP/贵宾

-

威望
0
论坛币
6171 个
通用积分
48.2944
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
549 点
帖子
31
精华
0
在线时间
228 小时
注册时间
2018-11-6
最后登录
2025-9-13

楼主
refound 学生认证  发表于 2020-7-4 16:47:16 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
id    year    a    b    c
1    2000    张    赵    李
1    2001    张    赵    林
1    2002    王    赵    钱
2    2000    王    李    孙
2    2001    李    孙    周
2    2002    李    林    吴
3    2000    孙    王    赵
3    2001    孙    张    钱
3    2002    林    刘    周
数据形式如上,想要生成一个新的变量x,说明同一个id当年与上一年abc3个变量中有几个是一致的(变量的顺序无所谓)
例如id1,2001年中abc三个变量分别为 张    赵    林,2000年abc为 张    赵    李,那么2001每年与2000年abc中有2个变量是一致的,新的变量x为2
请问有没有大佬知道程序写法或者有什么好的思路?


二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 多个变量 请问有没有 year

回帖推荐

黃河泉 发表于3楼  查看完整内容

感谢 William Lisowski 之建议,请据以更改

沙发
refound 学生认证  发表于 2020-7-4 17:23:41
自己想到一个方法,先设一个新变量y,y是abc三个变量字符串的组合,然后依次看下一期的abc是否被上一期的y包含就行了

藤椅
黃河泉 在职认证  发表于 2020-7-5 09:31:51
感谢 William Lisowski 之建议,请据以更改
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float(id year) str4(x1 x2 x3)
  4. 1 2000 "A" "B" "C"
  5. 1 2001 "C" "A" "D"
  6. 1 2002 "E" "C" "F"
  7. 2 2000 "F" "G" "I"
  8. 2 2001 "I" "K" "L"
  9. 2 2002 "L" "K" "I"
  10. end

  11. // William Lisowski
  12. reshape long x, i(id year) j(xnum)
  13. bys id x (year): gen w = year==year[_n-1]+1
  14. bys id year: egen wanted = total(w)
  15. drop w
  16. reshape wide
  17. list, noobs sepby(id)
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
refound + 5 + 1 + 1 + 1 精彩帖子

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

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

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