楼主: 16673482998
656 8

[编程问题求助] 如何在特定变量(时间)内生成p的最值并提取对应的时间,应该要生成一个新的表格 [推广有奖]

  • 0关注
  • 0粉丝

大专生

23%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
163 点
帖子
15
精华
0
在线时间
72 小时
注册时间
2022-8-1
最后登录
2023-2-10

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
  1. input long CompanyCode str6 stkcd int date double p float(m y ym) long name float(minprice maxprice)
  2. 43 "000020" 20845 20.26  1 2017 684 1 7.95 24.03
  3. 43 "000020" 20878 21.08  2 2017 685 1 7.95 24.03
  4. 43 "000020" 20909 24.03  3 2017 686 1 7.95 24.03
  5. 43 "000020" 20937 22.26  4 2017 687 1 7.95 24.03
  6. 43 "000020" 20965  19.2  5 2017 688 1 7.95 24.03
  7. 43 "000020" 21000  19.2  6 2017 689 1 7.95 24.03
  8. 43 "000020" 21031  19.2  7 2017 690 1 7.95 24.03
  9. 43 "000020" 21062 19.47  8 2017 691 1 7.95 24.03
  10. 43 "000020" 21091 18.76  9 2017 692 1 7.95 24.03
  11. 43 "000020" 21123 21.22 10 2017 693 1 7.95 24.03
  12. 43 "000020" 21153 14.99 11 2017 694 1 7.95 24.03
  13. 43 "000020" 21182 14.15 12 2017 695 1 7.95 24.03
  14. 43 "000020" 21215  12.4  1 2018 696 1 7.95 24.03
  15. 43 "000020" 21243 11.15  2 2018 697 1 7.95 24.03
  16. 43 "000020" 21273 15.06  3 2018 698 1 7.95 24.03
  17. 43 "000020" 21301 13.54  4 2018 699 1 7.95 24.03
  18. 43 "000020" 21335 14.87  5 2018 700 1 7.95 24.03
  19. 43 "000020" 21364 14.14  6 2018 701 1 7.95 24.03
  20. 43 "000020" 21396 13.97  7 2018 702 1 7.95 24.03
  21. 43 "000020" 21427 11.88  8 2018 703 1 7.95 24.03
  22. 43 "000020" 21455 11.83  9 2018 704 1 7.95 24.03
  23. 43 "000020" 21488  10.1 10 2018 705 1 7.95 24.03
  24. 43 "000020" 21518  10.6 11 2018 706 1 7.95 24.03
  25. 43 "000020" 21546 10.46 12 2018 707 1 7.95 24.03
  26. 43 "000020" 21580   9.9  1 2019 708 1 7.95 24.03
  27. 43 "000020" 21608  12.1  2 2019 709 1 7.95 24.03
  28. 43 "000020" 21637  12.5  3 2019 710 1 7.95 24.03
  29. 43 "000020" 21669 11.76  4 2019 711 1 7.95 24.03
  30. 43 "000020" 21700 11.19  5 2019 712 1 7.95 24.03
  31. 43 "000020" 21728 10.92  6 2019 713 1 7.95 24.03
  32. 43 "000020" 21761 10.48  7 2019 714 1 7.95 24.03
  33. 43 "000020" 21791 11.04  8 2019 715 1 7.95 24.03
  34. 43 "000020" 21822 11.07  9 2019 716 1 7.95 24.03
  35. 43 "000020" 21853 10.67 10 2019 717 1 7.95 24.03
  36. 43 "000020" 21882 10.23 11 2019 718 1 7.95 24.03
  37. 43 "000020" 21914 10.67 12 2019 719 1 7.95 24.03
  38. 43 "000020" 21937 10.22  1 2020 720 1 7.95 24.03
  39. 43 "000020" 21973   9.7  2 2020 721 1 7.95 24.03
  40. 43 "000020" 22005  9.07  3 2020 722 1 7.95 24.03
  41. 43 "000020" 22035  9.04  4 2020 723 1 7.95 24.03
  42. 43 "000020" 22064  9.72  5 2020 724 1 7.95 24.03
  43. 43 "000020" 22096 11.47  6 2020 725 1 7.95 24.03
  44. 43 "000020" 22127 13.19  7 2020 726 1 7.95 24.03
  45. 43 "000020" 22158 12.28  8 2020 727 1 7.95 24.03
  46. 43 "000020" 22188 12.14  9 2020 728 1 7.95 24.03
  47. 43 "000020" 22218 10.05 10 2020 729 1 7.95 24.03
  48. 43 "000020" 22249    10 11 2020 730 1 7.95 24.03
  49. 43 "000020" 22280  9.99 12 2020 731 1 7.95 24.03
  50. 43 "000020" 22309   8.4  1 2021 732 1 7.95 24.03
  51. 43 "000020" 22337  8.71  2 2021 733 1 7.95 24.03
  52. end
  53. format %tdCY-N-D date
  54. format %tmCCYY-NN ym
  55. label values name name
  56. label def name 1 "000020", modify
复制代码

[/code]上面是数据,需要在一定ym区间内找到最值,并找到对应的ym,预期数据大概是

43  ym1 minp
43  ym2 maxp


目前只找到了最值,但是没有对应的时间,预计是新产生一个表。
如果需要ym2大于ym1又该如何呢,唉

二维码

扫码加我 拉你入群

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

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

关键词:company format compan double values stata 面板数据 计算方法

沙发
黃河泉 在职认证  发表于 2022-8-2 11:13:38 |只看作者 |坛友微信交流群
谢谢用 dataex 提供数据,但完全无法理解你要的东西。请以所附资料明确说明每一个细节与所要之结果。

使用道具

藤椅
黃河泉 在职认证  发表于 2022-8-2 11:17:35 |只看作者 |坛友微信交流群
请据以更改
  1. bys CompanyCode: egen wanted_min = min(p)
  2. bys CompanyCode: egen wanted_max = max(p)
复制代码

使用道具

板凳
16673482998 发表于 2022-8-2 22:45:33 |只看作者 |坛友微信交流群
感谢老师回答:需要找到id在一段时间内的最值并需要找到这个最值所在的时间,希望生成的数据大致是
id  minprice mindate
1   500        2018-3
2   700        2019-3

  1. [CODE]
  2. * Example generated by -dataex-. To install: ssc install dataex
  3. clear
  4. input long id float ny double price float minprice
  5. 1 719 10.67 9.04
  6. 1 720 10.22 9.04
  7. 1 721   9.7 9.04
  8. 1 722  9.07 9.04
  9. 1 723  9.04 9.04
  10. 1 724  9.72 9.04
  11. 1 725 11.47 9.04
  12. 1 726 13.19 9.04
  13. 1 727 12.28 9.04
  14. 1 728 12.14 9.04
  15. 1 729 10.05 9.04
  16. 1 730    10 9.04
  17. 2 719  7.45 6.71
  18. 2 720  7.31 6.71
  19. 2 721  7.73 6.71
  20. 2 722  6.86 6.71
  21. 2 723  6.71 6.71
  22. 2 724  6.73 6.71
  23. 2 725  7.97 6.71
  24. 2 726  9.91 6.71
  25. 2 727  8.87 6.71
  26. 2 728  8.02 6.71
  27. 2 729  8.06 6.71
  28. 2 730  7.68 6.71
  29. 3 719  4.14 3.24
  30. 3 720  3.96 3.24
  31. 3 721  3.54 3.24
  32. 3 722  3.36 3.24
  33. 3 723  3.39 3.24
  34. 3 724   3.3 3.24
  35. 3 725  3.96 3.24
  36. 3 726  3.86 3.24
  37. 3 727  3.67 3.24
  38. 3 728  3.27 3.24
  39. 3 729  3.24 3.24
  40. 3 730  3.35 3.24
  41. 4 719  33.7 33.7
  42. 4 720 37.95 33.7
  43. 4 721 36.57 33.7
  44. 4 722 39.28 33.7
  45. 4 723 39.78 33.7
  46. 4 724 39.83 33.7
  47. 4 725 48.01 33.7
  48. 4 726 54.46 33.7
  49. 4 727  53.5 33.7
  50. 4 728 49.21 33.7
  51. 4 729 48.36 33.7
  52. 4 730 42.19 33.7
  53. 5 719  6.87 6.15
  54. 5 720  6.58 6.15
  55. 5 721  6.15 6.15
  56. 5 722  6.66 6.15
  57. 5 723  7.53 6.15
  58. 5 724  7.28 6.15
  59. 5 725   7.5 6.15
  60. 5 726 10.23 6.15
  61. 5 727 10.54 6.15
  62. 5 728  8.97 6.15
  63. 5 729  9.13 6.15
  64. 5 730  9.98 6.15
  65. 6 719  9.28 9.02
  66. 6 720  9.45 9.02
  67. 6 721  9.58 9.02
  68. 6 722  9.54 9.02
  69. 6 723  9.15 9.02
  70. 6 724  9.02 9.02
  71. 6 725  9.71 9.02
  72. 6 726  10.6 9.02
  73. 6 727 14.82 9.02
  74. 6 728 10.96 9.02
  75. 6 729 10.03 9.02
  76. 6 730 13.53 9.02
  77. 7 719   4.1 3.39
  78. 7 720  3.97 3.39
  79. 7 721  3.59 3.39
  80. 7 722  3.54 3.39
  81. 7 723  3.47 3.39
  82. 7 724  3.76 3.39
  83. 7 725  3.39 3.39
  84. 7 726  3.86 3.39
  85. 7 727   3.9 3.39
  86. 7 728  3.79 3.39
  87. 7 729  3.71 3.39
  88. 7 730  3.84 3.39
  89. 8 719  5.98 5.98
  90. 8 720  6.51 5.98
  91. 8 721   8.9 5.98
  92. 8 722  8.31 5.98
  93. 8 723  7.04 5.98
  94. 8 724  7.28 5.98
  95. 8 725  7.07 5.98
  96. 8 726  9.35 5.98
  97. 8 727 10.15 5.98
  98. 8 728  9.21 5.98
  99. 8 729  8.25 5.98
  100. 8 730  8.99 5.98
  101. 9 719  4.66 3.91
  102. 9 720  4.39 3.91
  103. 9 721     4 3.91
  104. 9 722  3.96 3.91
  105. end
  106. format %tmCCYY-NN ny
  107. label values id name
  108. label def name 1 "000020", modify
  109. label def name 2 "000045", modify
  110. label def name 3 "000056", modify
  111. label def name 4 "000513", modify
  112. label def name 5 "000531", modify
  113. label def name 6 "000534", modify
  114. label def name 7 "000539", modify
  115. label def name 8 "000566", modify
  116. label def name 9 "000589", modify
复制代码

[/code]


新的数据是这样子

使用道具

报纸
16673482998 发表于 2022-8-2 22:51:01 |只看作者 |坛友微信交流群
  1. [CODE]
  2. * Example generated by -dataex-. To install: ssc install dataex
  3. clear
  4. input long id float ny double price float minprice
  5. 1 719 10.67 9.04
  6. 1 720 10.22 9.04
  7. 1 721   9.7 9.04
  8. 1 722  9.07 9.04
  9. 1 723  9.04 9.04
  10. 1 724  9.72 9.04
  11. 1 725 11.47 9.04
  12. 1 726 13.19 9.04
  13. 1 727 12.28 9.04
  14. 1 728 12.14 9.04
  15. 1 729 10.05 9.04
  16. 1 730    10 9.04
  17. 2 719  7.45 6.71
  18. 2 720  7.31 6.71
  19. 2 721  7.73 6.71
  20. 2 722  6.86 6.71
  21. 2 723  6.71 6.71
  22. 2 724  6.73 6.71
  23. 2 725  7.97 6.71
  24. 2 726  9.91 6.71
  25. 2 727  8.87 6.71
  26. 2 728  8.02 6.71
  27. 2 729  8.06 6.71
  28. 2 730  7.68 6.71
  29. 3 719  4.14 3.24
  30. 3 720  3.96 3.24
  31. 3 721  3.54 3.24
  32. 3 722  3.36 3.24
  33. 3 723  3.39 3.24
  34. 3 724   3.3 3.24
  35. 3 725  3.96 3.24
  36. 3 726  3.86 3.24
  37. 3 727  3.67 3.24
  38. 3 728  3.27 3.24
  39. 3 729  3.24 3.24
  40. 3 730  3.35 3.24
  41. 4 719  33.7 33.7
  42. 4 720 37.95 33.7
  43. 4 721 36.57 33.7
  44. 4 722 39.28 33.7
  45. 4 723 39.78 33.7
  46. 4 724 39.83 33.7
  47. 4 725 48.01 33.7
  48. 4 726 54.46 33.7
  49. 4 727  53.5 33.7
  50. 4 728 49.21 33.7
  51. 4 729 48.36 33.7
  52. 4 730 42.19 33.7
  53. 5 719  6.87 6.15
  54. 5 720  6.58 6.15
  55. 5 721  6.15 6.15
  56. 5 722  6.66 6.15
  57. 5 723  7.53 6.15
  58. 5 724  7.28 6.15
  59. 5 725   7.5 6.15
  60. 5 726 10.23 6.15
  61. 5 727 10.54 6.15
  62. 5 728  8.97 6.15
  63. 5 729  9.13 6.15
  64. 5 730  9.98 6.15
  65. 6 719  9.28 9.02
  66. 6 720  9.45 9.02
  67. 6 721  9.58 9.02
  68. 6 722  9.54 9.02
  69. 6 723  9.15 9.02
  70. 6 724  9.02 9.02
  71. 6 725  9.71 9.02
  72. 6 726  10.6 9.02
  73. 6 727 14.82 9.02
  74. 6 728 10.96 9.02
  75. 6 729 10.03 9.02
  76. 6 730 13.53 9.02
  77. 7 719   4.1 3.39
  78. 7 720  3.97 3.39
  79. 7 721  3.59 3.39
  80. 7 722  3.54 3.39
  81. 7 723  3.47 3.39
  82. 7 724  3.76 3.39
  83. 7 725  3.39 3.39
  84. 7 726  3.86 3.39
  85. 7 727   3.9 3.39
  86. 7 728  3.79 3.39
  87. 7 729  3.71 3.39
  88. 7 730  3.84 3.39
  89. 8 719  5.98 5.98
  90. 8 720  6.51 5.98
  91. 8 721   8.9 5.98
  92. 8 722  8.31 5.98
  93. 8 723  7.04 5.98
  94. 8 724  7.28 5.98
  95. 8 725  7.07 5.98
  96. 8 726  9.35 5.98
  97. 8 727 10.15 5.98
  98. 8 728  9.21 5.98
  99. 8 729  8.25 5.98
  100. 8 730  8.99 5.98
  101. 9 719  4.66 3.91
  102. 9 720  4.39 3.91
  103. 9 721     4 3.91
  104. 9 722  3.96 3.91
  105. end
  106. format %tmCCYY-NN ny
  107. label values id name
  108. label def name 1 "000020", modify
  109. label def name 2 "000045", modify
  110. label def name 3 "000056", modify
  111. label def name 4 "000513", modify
  112. label def name 5 "000531", modify
  113. label def name 6 "000534", modify
  114. label def name 7 "000539", modify
  115. label def name 8 "000566", modify
  116. label def name 9 "000589", modify
复制代码

[/code]

感谢老师回答:是需要找到每个id中price最值对应的另一列的数据
期待获得的数据列表是
例如:
id   minprice  mindate
1    50         2019-04
2    70         2019-05

使用道具

地板
黃河泉 在职认证  发表于 2022-8-3 07:30:36 |只看作者 |坛友微信交流群
16673482998 发表于 2022-8-2 22:51
[/code]

感谢老师回答:是需要找到每个id中price最值对应的另一列的数据
你要的结果与你给的资料到底有什么关系?哪来的 50, 70?

使用道具

7
黃河泉 在职认证  发表于 2022-8-3 10:58:19 |只看作者 |坛友微信交流群
16673482998 发表于 2022-8-2 22:51
[/code]

感谢老师回答:是需要找到每个id中price最值对应的另一列的数据
是不是这个:
  1. recast float price, force
  2. gen wanted = ny*(price==minprice)
  3. collapse (max) minprice wanted, by(id)
  4. format %tm wanted
复制代码

使用道具

8
16673482998 发表于 2022-8-3 21:05:17 |只看作者 |坛友微信交流群
感谢您的回复,数据50,70,只是我的示例哈哈,
根据您的代码生成了想要的变量,再次感谢您的回复

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-21 10:30