楼主: 16673482998
1424 10

[数据管理求助] 求出对应id下第一次收盘价_ClPr大于fprice的日期,使用了cond函数长时出错 [推广有奖]

  • 0关注
  • 0粉丝

大专生

23%

还不是VIP/贵宾

-

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

楼主
16673482998 发表于 2022-8-8 22:12:16 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
期待生成每一个id对应的第一次收盘价_ClPr 大于fprice的ym,想问各位老师有什么好的解决办法使用下面的代码尝试失败,比如对应id=4是正确的wanted2,但是id=11时候是错误的,期待生成的应该是724
  1. bysort id : egen wanted2 = min(cond(收盘价_ClPr > fprice , ym, .)) //尝试失败
复制代码
产生了如下的结果
  1. [CODE]
  2. * Example generated by -dataex-. To install: ssc install dataex
  3. clear
  4. input long id float ym double 收盘价_ClPr float(fprice wanted2)
  5. 4 719 22.59 22.59 720
  6. 4 720 22.82 22.59 720
  7. 4 721  40.7 22.59 720
  8. 4 722 30.51 22.59 720
  9. 4 723 27.68 22.59 720
  10. 4 724 28.88 22.59 720
  11. 4 725 29.84 22.59 720
  12. 4 726 28.68 22.59 720
  13. 4 727 25.58 22.59 720
  14. 4 728 23.09 22.59 720
  15. 4 729  26.6 22.59 720
  16. 4 730 27.62 22.59 720
  17. 8 719  3.63  3.63   .
  18. 8 720  3.42  3.63   .
  19. 8 721  3.12  3.63   .
  20. 8 722  3.14  3.63   .
  21. 8 723  3.18  3.63   .
  22. 8 724  2.99  3.63   .
  23. 8 725  2.94  3.63   .
  24. 8 726  3.04  3.63   .
  25. 8 727  3.05  3.63   .
  26. 8 728  2.88  3.63   .
  27. 8 729  2.69  3.63   .
  28. 8 730  2.72  3.63   .
  29. 9 719  6.19  6.19 720
  30. 9 720  6.48  6.19 720
  31. 9 721  7.41  6.19 720
  32. 9 722  5.88  6.19 720
  33. 9 723  6.56  6.19 720
  34. 9 724   6.9  6.19 720
  35. 9 725  8.51  6.19 720
  36. 9 726  8.37  6.19 720
  37. 9 727  7.65  6.19 720
  38. 9 728     7  6.19 720
  39. 9 729  7.56  6.19 720
  40. 9 730  7.44  6.19 720
  41. 11 719  9.41  9.41 719
  42. 11 720  8.82  9.41 719
  43. 11 721  7.63  9.41 719
  44. 11 722  8.31  9.41 719
  45. 11 723  9.07  9.41 719
  46. 11 724  9.49  9.41 719
  47. 11 725    16  9.41 719
  48. 11 726 26.05  9.41 719
  49. 11 727 20.17  9.41 719
  50. 11 728 17.86  9.41 719
  51. 11 729 13.99  9.41 719
  52. 11 730 13.82  9.41 719
  53. 12 719  5.01  5.01 721
  54. 12 720   4.6  5.01 721
  55. 12 721  5.06  5.01 721
  56. 12 722  4.39  5.01 721
  57. 12 723  4.47  5.01 721
  58. 12 724  4.55  5.01 721
  59. 12 725  5.02  5.01 721
  60. 12 726  6.04  5.01 721
  61. 12 727  5.86  5.01 721
  62. 12 728  5.62  5.01 721
  63. 12 729  5.95  5.01 721
  64. 12 730  6.85  5.01 721
  65. 16 719  4.37  4.37 719
  66. 16 720  5.21  4.37 719
  67. 16 721  9.66  4.37 719
  68. 16 722  8.35  4.37 719
  69. 16 723  7.51  4.37 719
  70. 16 724  6.57  4.37 719
  71. 16 725  6.76  4.37 719
  72. 16 726  7.22  4.37 719
  73. 16 727  7.15  4.37 719
  74. 16 728  6.06  4.37 719
  75. 16 729  5.84  4.37 719
  76. 16 730  6.77  4.37 719
  77. 19 719  6.08  6.08 719
  78. 19 720  5.87  6.08 719
  79. 19 721  6.09  6.08 719
  80. 19 722  7.84  6.08 719
  81. 19 723  9.12  6.08 719
  82. 19 724  8.38  6.08 719
  83. 19 725  8.04  6.08 719
  84. 19 726   9.5  6.08 719
  85. 19 727  9.93  6.08 719
  86. 19 728   8.3  6.08 719
  87. 19 729  7.79  6.08 719
  88. 19 730  7.82  6.08 719
  89. 20 719 10.67 10.67 725
  90. 20 720 10.22 10.67 725
  91. 20 721   9.7 10.67 725
  92. 20 722  9.07 10.67 725
  93. 20 723  9.04 10.67 725
  94. 20 724  9.72 10.67 725
  95. 20 725 11.47 10.67 725
  96. 20 726 13.19 10.67 725
  97. 20 727 12.28 10.67 725
  98. 20 728 12.14 10.67 725
  99. 20 729 10.05 10.67 725
  100. 20 730    10 10.67 725
  101. 21 719 12.18 12.18 720
  102. 21 720 14.91 12.18 720
  103. 21 721 17.41 12.18 720
  104. 21 722  17.2 12.18 720
  105. end
  106. format %tmCCYY-NN ym
  107. format %tm wanted2
复制代码

[/code]


二维码

扫码加我 拉你入群

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

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

关键词:Price Rice ice CLP 收盘价

沙发
黃河泉 在职认证  发表于 2022-8-9 08:10:51
不要用 fprice (可能你当初产生时,有一些小数点的落差),请试试
  1. bysort id (ym): egen wanted3 = min(cond(收盘价_ClPr > 收盘价_ClPr[1] , ym, .))
复制代码

藤椅
16673482998 发表于 2022-8-9 13:46:51
黃河泉 发表于 2022-8-9 08:10
不要用 fprice (可能你当初产生时,有一些小数点的落差),请试试
使用您建议的代码还是不可以,
感觉收盘价_ClPr[1]中对于所有的id都一样使用了第一个id的第一个变量值,
  1. [CODE]
  2. * Example generated by -dataex-. To install: ssc install dataex
  3. clear
  4. input long id int Date float ym double 收盘价_ClPr float(fprice wanted3)
  5. 4 21914 719 22.59 22.59 720
  6. 4 21937 720 22.82 22.59 720
  7. 4 21973 721  40.7 22.59 720
  8. 4 22005 722 30.51 22.59 720
  9. 4 22035 723 27.68 22.59 720
  10. 4 22064 724 28.88 22.59 720
  11. 4 22096 725 29.84 22.59 720
  12. 4 22127 726 28.68 22.59 720
  13. 4 22158 727 25.58 22.59 720
  14. 4 22188 728 23.09 22.59 720
  15. 4 22218 729  26.6 22.59 720
  16. 4 22249 730 27.62 22.59 720
  17. 8 21914 719  3.63  3.63   .
  18. 8 21937 720  3.42  3.63   .
  19. 8 21973 721  3.12  3.63   .
  20. 8 22005 722  3.14  3.63   .
  21. 8 22035 723  3.18  3.63   .
  22. 8 22064 724  2.99  3.63   .
  23. 8 22096 725  2.94  3.63   .
  24. 8 22127 726  3.04  3.63   .
  25. 8 22158 727  3.05  3.63   .
  26. 8 22188 728  2.88  3.63   .
  27. 8 22218 729  2.69  3.63   .
  28. 8 22249 730  2.72  3.63   .
  29. 9 21914 719  6.19  6.19   .
  30. 9 21937 720  6.48  6.19   .
  31. 9 21973 721  7.41  6.19   .
  32. 9 22005 722  5.88  6.19   .
  33. 9 22035 723  6.56  6.19   .
  34. 9 22064 724   6.9  6.19   .
  35. 9 22096 725  8.51  6.19   .
  36. 9 22127 726  8.37  6.19   .
  37. 9 22158 727  7.65  6.19   .
  38. 9 22188 728     7  6.19   .
  39. 9 22218 729  7.56  6.19   .
  40. 9 22249 730  7.44  6.19   .
  41. 11 21914 719  9.41  9.41 726
  42. 11 21937 720  8.82  9.41 726
  43. 11 21973 721  7.63  9.41 726
  44. 11 22005 722  8.31  9.41 726
  45. 11 22035 723  9.07  9.41 726
  46. 11 22064 724  9.49  9.41 726
  47. 11 22096 725    16  9.41 726
  48. 11 22127 726 26.05  9.41 726
  49. 11 22158 727 20.17  9.41 726
  50. 11 22188 728 17.86  9.41 726
  51. 11 22218 729 13.99  9.41 726
  52. 11 22249 730 13.82  9.41 726
  53. 12 21914 719  5.01  5.01   .
  54. 12 21937 720   4.6  5.01   .
  55. 12 21973 721  5.06  5.01   .
  56. 12 22005 722  4.39  5.01   .
  57. 12 22035 723  4.47  5.01   .
  58. 12 22064 724  4.55  5.01   .
  59. 12 22096 725  5.02  5.01   .
  60. 12 22127 726  6.04  5.01   .
  61. 12 22158 727  5.86  5.01   .
  62. 12 22188 728  5.62  5.01   .
  63. 12 22218 729  5.95  5.01   .
  64. 12 22249 730  6.85  5.01   .
  65. 16 21914 719  4.37  4.37   .
  66. 16 21937 720  5.21  4.37   .
  67. 16 21973 721  9.66  4.37   .
  68. 16 22005 722  8.35  4.37   .
  69. 16 22035 723  7.51  4.37   .
  70. 16 22064 724  6.57  4.37   .
  71. 16 22096 725  6.76  4.37   .
  72. 16 22127 726  7.22  4.37   .
  73. 16 22158 727  7.15  4.37   .
  74. 16 22188 728  6.06  4.37   .
  75. 16 22218 729  5.84  4.37   .
  76. 16 22249 730  6.77  4.37   .
  77. 19 21914 719  6.08  6.08   .
  78. 19 21937 720  5.87  6.08   .
  79. 19 21973 721  6.09  6.08   .
  80. 19 22005 722  7.84  6.08   .
  81. 19 22035 723  9.12  6.08   .
  82. 19 22064 724  8.38  6.08   .
  83. 19 22096 725  8.04  6.08   .
  84. 19 22127 726   9.5  6.08   .
  85. 19 22158 727  9.93  6.08   .
  86. 19 22188 728   8.3  6.08   .
  87. 19 22218 729  7.79  6.08   .
  88. 19 22249 730  7.82  6.08   .
  89. 20 21914 719 10.67 10.67   .
  90. 20 21937 720 10.22 10.67   .
  91. 20 21973 721   9.7 10.67   .
  92. 20 22005 722  9.07 10.67   .
  93. 20 22035 723  9.04 10.67   .
  94. 20 22064 724  9.72 10.67   .
  95. 20 22096 725 11.47 10.67   .
  96. 20 22127 726 13.19 10.67   .
  97. 20 22158 727 12.28 10.67   .
  98. 20 22188 728 12.14 10.67   .
  99. 20 22218 729 10.05 10.67   .
  100. 20 22249 730    10 10.67   .
  101. 21 21914 719 12.18 12.18 726
  102. 21 21937 720 14.91 12.18 726
  103. 21 21973 721 17.41 12.18 726
  104. 21 22005 722  17.2 12.18 726
  105. end
  106. format %tdCCYY-NN-DD Date
  107. format %tmCCYY-NN ym
  108. format %tmCCYY-NN wanted3
复制代码
[/code]

板凳
黃河泉 在职认证  发表于 2022-8-9 16:06:39
16673482998 发表于 2022-8-9 13:46
使用您建议的代码还是不可以,
感觉收盘价_ClPr[1]中对于所有的id都一样使用了第一个id的第一个变量值, ...
我的指令看起来没有错啊?
  1. bysort id (ym): egen wanted = min(cond(收盘价_ClPr > 收盘价_ClPr[1] , ym, .))
  2. sort id ym
  3. format %tm wanted
  4. dataex id ym 收盘价_ClPr  wanted
复制代码
  1. * Example generated by -dataex-. For more info, type help dataex
  2. clear
  3. input long id float ym double 收盘价_ClPr float wanted
  4. 4 719 22.59 720
  5. 4 720 22.82 720
  6. 4 721  40.7 720
  7. 4 722 30.51 720
  8. 4 723 27.68 720
  9. 4 724 28.88 720
  10. 4 725 29.84 720
  11. 4 726 28.68 720
  12. 4 727 25.58 720
  13. 4 728 23.09 720
  14. 4 729  26.6 720
  15. 4 730 27.62 720
  16. 8 719  3.63   .
  17. 8 720  3.42   .
  18. 8 721  3.12   .
  19. 8 722  3.14   .
  20. 8 723  3.18   .
  21. 8 724  2.99   .
  22. 8 725  2.94   .
  23. 8 726  3.04   .
  24. 8 727  3.05   .
  25. 8 728  2.88   .
  26. 8 729  2.69   .
  27. 8 730  2.72   .
  28. 9 719  6.19 720
  29. 9 720  6.48 720
  30. 9 721  7.41 720
  31. 9 722  5.88 720
  32. 9 723  6.56 720
  33. 9 724   6.9 720
  34. 9 725  8.51 720
  35. 9 726  8.37 720
  36. 9 727  7.65 720
  37. 9 728     7 720
  38. 9 729  7.56 720
  39. 9 730  7.44 720
  40. 11 719  9.41 724
  41. 11 720  8.82 724
  42. 11 721  7.63 724
  43. 11 722  8.31 724
  44. 11 723  9.07 724
  45. 11 724  9.49 724
  46. 11 725    16 724
  47. 11 726 26.05 724
  48. 11 727 20.17 724
  49. 11 728 17.86 724
  50. 11 729 13.99 724
  51. 11 730 13.82 724
  52. 12 719  5.01 721
  53. 12 720   4.6 721
  54. 12 721  5.06 721
  55. 12 722  4.39 721
  56. 12 723  4.47 721
  57. 12 724  4.55 721
  58. 12 725  5.02 721
  59. 12 726  6.04 721
  60. 12 727  5.86 721
  61. 12 728  5.62 721
  62. 12 729  5.95 721
  63. 12 730  6.85 721
  64. 16 719  4.37 720
  65. 16 720  5.21 720
  66. 16 721  9.66 720
  67. 16 722  8.35 720
  68. 16 723  7.51 720
  69. 16 724  6.57 720
  70. 16 725  6.76 720
  71. 16 726  7.22 720
  72. 16 727  7.15 720
  73. 16 728  6.06 720
  74. 16 729  5.84 720
  75. 16 730  6.77 720
  76. 19 719  6.08 721
  77. 19 720  5.87 721
  78. 19 721  6.09 721
  79. 19 722  7.84 721
  80. 19 723  9.12 721
  81. 19 724  8.38 721
  82. 19 725  8.04 721
  83. 19 726   9.5 721
  84. 19 727  9.93 721
  85. 19 728   8.3 721
  86. 19 729  7.79 721
  87. 19 730  7.82 721
  88. 20 719 10.67 725
  89. 20 720 10.22 725
  90. 20 721   9.7 725
  91. 20 722  9.07 725
  92. 20 723  9.04 725
  93. 20 724  9.72 725
  94. 20 725 11.47 725
  95. 20 726 13.19 725
  96. 20 727 12.28 725
  97. 20 728 12.14 725
  98. 20 729 10.05 725
  99. 20 730    10 725
  100. 21 719 12.18 720
  101. 21 720 14.91 720
  102. 21 721 17.41 720
  103. 21 722  17.2 720
  104. end
  105. format %tmCCYY-NN ym
  106. format %tm wanted
复制代码

报纸
16673482998 发表于 2022-8-9 20:04:38
黃河泉 发表于 2022-8-9 16:06
我的指令看起来没有错啊?
这样看来您生成的结果是对的,但是我用同样的代码生成的结果就是错误的,郁闷了哈哈哈,我再看看哪里出错了

地板
黃河泉 在职认证  发表于 2022-8-9 20:08:43
16673482998 发表于 2022-8-9 20:04
这样看来您生成的结果是对的,但是我用同样的代码生成的结果就是错误的,郁闷了哈哈哈,我再看看哪里出错 ...
是不是你没有 sort id ym?

7
16673482998 发表于 2022-8-9 20:22:52
黃河泉 发表于 2022-8-9 20:08
是不是你没有 sort id ym?
sort了,还是和之前的代码生成一样的错误
  1. bysort id (ym): egen wanted = min(cond(收盘价_ClPr > 收盘价_ClPr[1] , ym, .))
  2. sort id ym
  3. format %tm wanted
复制代码

8
16673482998 发表于 2022-8-9 21:17:04
黃河泉 发表于 2022-8-9 20:08
是不是你没有 sort id ym?
我真是实在不知道哪里出错了,搞自闭了要笑死

9
16673482998 发表于 2022-8-9 23:44:49
黃河泉 发表于 2022-8-9 20:08
是不是你没有 sort id ym?
不知道是不是软件问题还是运行环境问题,使用您的代码运行出来结果依旧如前,试了好多方法也没有解决,

10
16673482998 发表于 2022-8-10 14:22:00
黃河泉 发表于 2022-8-9 20:08
是不是你没有 sort id ym?
这个问题解决了
有可能是因为stata软件问题?
于是我把stata16卸载了,装了stata17就可以生成预期结果了
再次表示非常感谢您的回答

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

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