楼主: SU==
772 1

[编程问题求助] 如何在分组下求两变量之间有几组非重复的对应关系? [推广有奖]

  • 4关注
  • 0粉丝

已卖:2份资源

硕士生

36%

还不是VIP/贵宾

-

威望
0
论坛币
602 个
通用积分
5.1143
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1145 点
帖子
56
精华
0
在线时间
211 小时
注册时间
2019-11-11
最后登录
2025-11-8

楼主
SU== 发表于 2021-3-14 21:10:42 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我想求公司CEO曾任职过几个公司,公司和证券代码Stkcd一一对应,人和编号PersonID一一对应,证券代码和人员编号都是唯一的。但是人和公司不是一一对应,而且有很多是多次任职同一个公司,形成重复的对应关系。我的思路是,先对PersonID分组,再在分组下求PersonID和Stkcd有几组非重复的对应关系。
我学了一下在所有样本(不分组)下如何求:
  1. by Stkcd PersonID, sort: gen nvals=_n==1
  2. replace nvals = sum(nvals)    // 对nvals进行加总
  3. replace nvals = nvals[_N]     // 将nvals的值替换为nvals的总数。
  4. dis nvals
复制代码
得到的结果是统一的91630组非重复对应关系:
  1. [CODE]
  2. * Example generated by -dataex-. To install: ssc install dataex
  3. clear
  4. input str6 Stkcd str8 PersonID str50 Name float nvals
  5. "000001" "30104076" "叶连捷" 91630
  6. "000001" "30104076" "叶连捷" 91630
  7. "000001" "30104076" "叶连捷" 91630
  8. "000001" "30104076" "叶连捷" 91630
  9. "000001" "30104076" "叶连捷" 91630
  10. "000001" "30104078" "余锦云" 91630
  11. "000001" "30104078" "余锦云" 91630
  12. "000001" "30104078" "余锦云" 91630
  13. "000001" "30104078" "余锦云" 91630
  14. "000001" "30104078" "余锦云" 91630
  15. end
复制代码

[/code]因此现在想进一步,想请教下大家如何在PersonID分组下,求PersonID和Stkcd有几组非重复的对应关系?
下面是我的样本:
  1. clear
  2. input str6 Stkcd str8 PersonID str50 Name
  3. "600826" "3010"  "宣国良"
  4. "600826" "3010"  "宣国良"
  5. "600826" "3010"  "宣国良"
  6. "002056" "30100" "刘卫丽"
  7. "002056" "30100" "刘卫丽"
  8. "002056" "30100" "刘卫丽"
  9. "002056" "30100" "刘卫丽"
  10. "600673" "30100" "刘卫丽"
  11. "600673" "30100" "刘卫丽"
复制代码






二维码

扫码加我 拉你入群

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

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

关键词:对应关系 generated generate install replace

沙发
SU== 发表于 2021-3-14 21:55:34
解决了,虽然不知道为什么。(最近好分裂,感觉系统地学也记不住这么复杂多变的...
  1. egen r1=tag(PersonID Stkcd)
  2. by PersonID: egen r=total(r1)
复制代码
答案来源:https://bbs.pinggu.org/thread-4564679-1-1.html

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

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