楼主: 霖小君
1594 9

[数据管理求助] 组内并列数据的 [推广有奖]

  • 1关注
  • 0粉丝

大专生

81%

还不是VIP/贵宾

-

威望
0
论坛币
1805 个
通用积分
3.3240
学术水平
5 点
热心指数
5 点
信用等级
5 点
经验
307 点
帖子
14
精华
0
在线时间
105 小时
注册时间
2018-12-25
最后登录
2021-5-13

楼主
霖小君 发表于 2019-4-28 21:54:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
本人的原始数据如下

希望按照ID YEAR LBN 降序对数据排序后,按照ID YEAR 对数据分组,并对组内数据排序并根据顺序赋值。最小的数赋值为1,第2小的数赋值为2,依次赋值。由于组内数据会有相同值,希望相同大小的数赋值相同
目前使用的代码为:
gsort ID YEAR  LBN1 , gen (N1)
遇到的问题是:目前的命令不能进行组内排序赋值,新生成的N1是全部数据的顺序得分。希望大神们帮忙进行按照组内升序的位置进行赋值,相同大小的数赋值一样
二维码

扫码加我 拉你入群

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

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

关键词:year 原始数据 数据分组 ear SOR 组内相同数的排序赋值

数据图.PNG (38.51 KB)

原始数据图

原始数据图

沙发
黃河泉 在职认证  发表于 2019-4-29 07:50:18
你若要问程序,永远附上相关资料;若附上资料,永远用 dataex 印出资料。
1.        先 ssc install dataex (并见说明),将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。
2.        请参考说明 https://bbs.pinggu.org/thread-5048204-1-1.html

藤椅
霖小君 发表于 2019-5-2 15:35:53
黃河泉 发表于 2019-4-29 07:50
你若要问程序,永远附上相关资料;若附上资料,永远用 dataex 印出资料。
1.        先 ssc install dataex (并见 ...
谢谢老师,出来了数据如下所示:
* Example generated by -dataex-. To install: ssc install dataex
clear
input long(ID PID) float YEAR int LBN1
2  3053550 2012 0
2  3048754 2012 0
2  3054222 2012 0
2 30156282 2012 0
2  3053716 2012 0
2   302538 2012 1
2 30194442 2012 2
2    30730 2012 2
2  3054220 2012 3
2  3062924 2012 4
2   303076 2012 5
2  3023382 2012 5
2 30156282 2013 0
2  3053716 2013 0
2  3054222 2013 0
2    30730 2013 0
2  3023382 2013 0
2  3053550 2013 0
2  3054220 2013 0
2   302538 2013 1
2 30194442 2013 1
2   303076 2013 4
2  3062924 2013 4
2  3044148 2013 8
2  3044038 2013 9
2  3054222 2014 0
2    30730 2014 0
2 30156282 2014 0
2  3053550 2014 0
2 30156222 2014 0
2  3084182 2014 0
2  3053716 2014 1
2   302538 2014 1
2  3062924 2014 2
2   303076 2014 3
2 30194442 2014 3
2  3044148 2014 8
2  3044038 2014 9
2 30156282 2015 0
2   303076 2015 0
2  3053716 2015 0
2 30156222 2015 0
2  3044148 2015 0
2   302538 2015 0
2  3084182 2015 0
2  3044038 2015 0
2  3053550 2015 0
2  3062924 2015 0
2 30194442 2015 3
2 30156222 2016 0
2  3053550 2016 0
2   302538 2016 0
2  3084182 2016 0
2 30156282 2016 1
2  3062924 2016 2
2  3053716 2016 2
2   303076 2016 3
2  3044038 2016 3
2 30194442 2016 4
2  3044148 2016 6
2  3044148 2017 0
2 30156282 2017 0
2 30194442 2017 0
2 30373837 2017 0
2  3062924 2017 0
2 30262701 2017 0
2   303076 2017 0
2  3053716 2017 0
2  3084182 2017 0
2  3053550 2017 0
2 30373838 2017 0
2  3044038 2017 0
2 30287416 2017 0
2 30156222 2017 0
2 30373836 2017 0
2  3017956 2017 0
2 30373835 2017 0
2   302538 2017 0
2 30177788 2017 0
2 30373839 2017 1
4  3084028 2012 0
4  3074528 2012 0
4 30174650 2012 0
4 30125544 2012 0
4  3031138 2012 0
4 30138572 2012 0
4  3081836 2012 1
4 30140668 2012 2
4  3073168 2012 3
4  3053222 2013 0
4 30257440 2013 0
4 30257424 2013 0
4  3074528 2013 0
4  3073168 2013 0
4 30138572 2013 0
4  3031138 2013 0
4  3090186 2013 0
4 30257427 2013 0
4  3084028 2013 0
4 30174650 2013 0
end

板凳
黃河泉 在职认证  发表于 2019-5-2 16:04:34
霖小君 发表于 2019-5-2 15:35
谢谢老师,出来了数据如下所示:
* Example generated by -dataex-. To install: ssc install dataex
c ...
谢谢用 dataex 发出资料。你指的降序是这样吗?
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input long(ID PID) float YEAR int LBN1
  4. 2 30373839 2017 1
  5. 2 30373838 2017 0
  6. 2 30373837 2017 0
  7. 2 30373836 2017 0
  8. 2 30373835 2017 0
  9. 2 30287416 2017 0
  10. 2 30262701 2017 0
  11. 2 30194442 2017 0
  12. 2 30177788 2017 0
  13. 2 30156282 2017 0
  14. 2 30156222 2017 0
  15. 2  3084182 2017 0
  16. 2  3062924 2017 0
  17. 2  3053716 2017 0
  18. 2  3053550 2017 0
  19. 2  3044148 2017 0
  20. 2  3044038 2017 0
  21. 2  3017956 2017 0
  22. 2   303076 2017 0
  23. 2   302538 2017 0
  24. 2 30194442 2016 4
  25. 2 30156282 2016 1
  26. 2 30156222 2016 0
  27. 2  3084182 2016 0
  28. 2  3062924 2016 2
  29. 2  3053716 2016 2
  30. 2  3053550 2016 0
  31. 2  3044148 2016 6
  32. 2  3044038 2016 3
  33. 2   303076 2016 3
  34. 2   302538 2016 0
  35. 2 30194442 2015 3
  36. 2 30156282 2015 0
  37. 2 30156222 2015 0
  38. 2  3084182 2015 0
  39. 2  3062924 2015 0
  40. 2  3053716 2015 0
  41. 2  3053550 2015 0
  42. 2  3044148 2015 0
  43. 2  3044038 2015 0
  44. 2   303076 2015 0
  45. 2   302538 2015 0
  46. 2 30194442 2014 3
  47. 2 30156282 2014 0
  48. 2 30156222 2014 0
  49. 2  3084182 2014 0
  50. 2  3062924 2014 2
  51. 2  3054222 2014 0
  52. 2  3053716 2014 1
  53. 2  3053550 2014 0
  54. 2  3044148 2014 8
  55. 2  3044038 2014 9
  56. 2   303076 2014 3
  57. 2   302538 2014 1
  58. 2    30730 2014 0
  59. 2 30194442 2013 1
  60. 2 30156282 2013 0
  61. 2  3062924 2013 4
  62. 2  3054222 2013 0
  63. 2  3054220 2013 0
  64. 2  3053716 2013 0
  65. 2  3053550 2013 0
  66. 2  3044148 2013 8
  67. 2  3044038 2013 9
  68. 2  3023382 2013 0
  69. 2   303076 2013 4
  70. 2   302538 2013 1
  71. 2    30730 2013 0
  72. 2 30194442 2012 2
  73. 2 30156282 2012 0
  74. 2  3062924 2012 4
  75. 2  3054222 2012 0
  76. 2  3054220 2012 3
  77. 2  3053716 2012 0
  78. 2  3053550 2012 0
  79. 2  3048754 2012 0
  80. 2  3023382 2012 5
  81. 2   303076 2012 5
  82. 2   302538 2012 1
  83. 2    30730 2012 2
  84. 4 30257440 2013 0
  85. 4 30257427 2013 0
  86. 4 30257424 2013 0
  87. 4 30174650 2013 0
  88. 4 30138572 2013 0
  89. 4  3090186 2013 0
  90. 4  3084028 2013 0
  91. 4  3074528 2013 0
  92. 4  3073168 2013 0
  93. 4  3053222 2013 0
  94. 4  3031138 2013 0
  95. 4 30174650 2012 0
  96. 4 30140668 2012 2
  97. 4 30138572 2012 0
  98. 4 30125544 2012 0
  99. 4  3084028 2012 0
  100. 4  3081836 2012 1
  101. 4  3074528 2012 0
  102. 4  3073168 2012 3
  103. 4  3031138 2012 0
  104. end
复制代码

报纸
黃河泉 在职认证  发表于 2019-5-2 16:05:25
霖小君 发表于 2019-5-2 15:35
谢谢老师,出来了数据如下所示:
* Example generated by -dataex-. To install: ssc install dataex
c ...
  1. gsort ID -YEAR -PID
复制代码

地板
黃河泉 在职认证  发表于 2019-5-2 16:06:26
看不太懂你要做什么?

7
霖小君 发表于 2019-5-2 17:12:14
黃河泉 发表于 2019-5-2 16:06
看不太懂你要做什么?
ID是企业代码,YEAR是年份,PID是董事会成员代码,LBN1是董事会成员兼职为董事会成员的公司总数,想要对同一个公司同一年内董事会兼职为董事会成员的上市公司总数进行排序,并生成新的变量N1。N1=1表示该董事会成员兼职数最少,N1=2表示第二少。如果两个董事会成员的兼职数一样,则用相同的N1表示。辛苦老师了。万分感谢。

8
黃河泉 在职认证  发表于 2019-5-2 17:27:07
霖小君 发表于 2019-5-2 17:12
ID是企业代码,YEAR是年份,PID是董事会成员代码,LBN1是董事会成员兼职为董事会成员的公司总数,想要对同 ...
看看那个是你要的:
  1. bys ID YEAR (LBN1): egen wanted = rank(LBN1)

  2. // ssc install runby
  3. cap program drop group_temp
  4. program define group_temp   
  5.   sort LBN1
  6.   egen wanted2 = group(LBN1)
  7. end
  8. runby group_temp, by(ID YEAR)
复制代码

9
霖小君 发表于 2019-5-2 19:55:32
黃河泉 发表于 2019-5-2 17:27
看看那个是你要的:
谢谢老师,万分感谢[em23]。第二个组代码可以用

10
霖小君 发表于 2019-5-2 19:55:38
黃河泉 发表于 2019-5-2 17:27
看看那个是你要的:
谢谢老师,万分感谢[em23]。第二个组代码可以用

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

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