983 11

[字符问题求助] 计算本年相较于上一年增加的字符id [推广有奖]

  • 0关注
  • 0粉丝

本科生

8%

还不是VIP/贵宾

-

威望
0
论坛币
595 个
通用积分
1.4988
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
245 点
帖子
30
精华
0
在线时间
113 小时
注册时间
2016-12-13
最后登录
2022-3-31

楼主
爱汽水不爱果汁 发表于 2021-12-26 15:50:05 |AI写论文
20论坛币
WechatIMG469.jpeg

各位大佬,我想分别计算同一公司本年相较于上一年增加或减少的id,id是空格间隔的字符,红色是想要得到的数据。
求指教,感谢~
stata或vba计算最好~

最佳答案

qianchen 查看完整内容

clear input year str30(stock id 增加 减少) 2008 02 "2269" 2009 02 "2269 2315" "2315" 2010 02 "2269 " "" "2315" 2011 02 "2269 2399" "2399" 2012 02 "2269 2399 122" "122" 2012 02 "122" "" "2269 2399" end gen index= regexm(id[_n],id[_n-1]) if _n!=1 gen added=subinstr(id[_n],id[_n-1],"",.) if index==1 gen reduced=subinstr(id[_n-1],id[_n],"",.) if index==0
关键词:Stock Stata year stoc tata

沙发
qianchen 发表于 2021-12-26 15:50:06
clear
input year str30(stock id 增加 减少)
2008 02 "2269"
2009 02 "2269 2315" "2315"
2010 02 "2269 "  ""            "2315"
2011 02 "2269 2399" "2399"
2012 02 "2269 2399 122" "122"
2012 02 "122" "" "2269 2399"
end
gen index= regexm(id[_n],id[_n-1])  if _n!=1
gen added=subinstr(id[_n],id[_n-1],"",.) if index==1
gen reduced=subinstr(id[_n-1],id[_n],"",.) if index==0
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
黃河泉 + 4 + 4 + 4 精彩帖子

总评分: 学术水平 + 4  热心指数 + 4  信用等级 + 4   查看全部评分

藤椅
爱汽水不爱果汁 发表于 2021-12-28 10:47:21
qianchen 发表于 2021-12-27 11:19
clear
input year str30(stock id 增加 减少)
2008 02 "2269"
您好,感谢前辈的帮助~我试了下基本可以得到想到的结果,大方向是对的。
可能由于我的表述不清楚,运行结果存在两个问题:
1.没有控制同一公司;2.同一公司的计算结果部分存在错误
恳请您再指导一下,麻烦了,感谢~
数据形式是year stock id 面板数据,需求:计算每家公司本年相较于上一年增加的id和减少的id。id中存在重复值。

板凳
爱汽水不爱果汁 发表于 2021-12-28 10:47:39
前辈好:我增加了控制同一年份:if stock==stock[_n-1]但是计算结果还是有问题,例如第一家公司2014年和2015年的数据。
麻烦您了!
屏幕快照 2021-12-28 上午11.03.17.png

屏幕快照 2021-12-28 上午11.03.17.png (194.9 KB)

屏幕快照 2021-12-28 上午11.03.17.png

报纸
爱汽水不爱果汁 发表于 2021-12-28 11:43:00
还有一个关键点:同一年份id存在既增加、又减少的情况,比如1 2 2到1 2 3,减少了一个2、增加了一个3。

地板
爱汽水不爱果汁 发表于 2021-12-28 11:43:28
爱汽水不爱果汁 发表于 2021-12-28 10:47
您好,感谢前辈的帮助~我试了下基本可以得到想到的结果,大方向是对的。
可能由于我的表述不清楚,运行结 ...
还有一个关键点:同一年份id存在既增加、又减少的情况,比如1 2 2到1 2 3,减少了一个2、增加了一个3。

7
qianchen 发表于 2021-12-28 13:52:11
请用dataex命令输出你的数据 不要贴图

8
爱汽水不爱果汁 发表于 2021-12-28 19:40:59
qianchen 发表于 2021-12-28 13:52
请用dataex命令输出你的数据 不要贴图
[code][CODE]
* Example generated by -dataex-. To install: ssc install dataex
clear
input str4 year str6 stock str140 id
"2008" "000002" "002269 "                                                                     
"2009" "000002" "002269 002315 "                                                               
"2010" "000002" "002269 "                                                                     
"2011" "000002" "002269 002399 "                                                               
"2012" "000002" "002269 002399 "                                                               
"2013" "000002" "000423 000999 000999 002269 002399 600062 600062 "                           
"2014" "000002" "000423 000999 000999 002269 600062 600062 "                                   
"2015" "000002" "000423 002269 "                                                               
"2016" "000002" "002269 "                                                                     
"2017" "000002" "000016 000068 "                                                               
"2018" "000002" "000016 000068 600028 "                                                        
"2019" "000002" "000016 000651 002189 600028 "                                                
"2020" "000002" "000651 002189 002352 600028 601618 "                                          
"2011" "000004" "300154 600461 "                                                               
"2012" "000004" "300154 600461 "                                                               
"2013" "000004" "000513 002548 300012 300243 "                                                
"2014" "000004" "000513 300012 300243 "                                                        
"2015" "000004" "300243 "                                                                     
"2016" "000004" ""                                                                             
"2017" "000004" ""                                                                             
"2018" "000004" "002130 "                                                                     
"2019" "000004" "002281 300008 300042 "                                                        
"2020" "000004" "000560 002281 300008 300042 "                                                
"2008" "000006" "000029 000042 000042 "                                                        
"2009" "000006" "000042 000042 600106 "                                                        
"2010" "000006" "000042 000042 000045 002213 002397 600106 "                                   
"2011" "000006" "000042 000045 002213 002397 002577 600106 "                                   
"2012" "000006" "000021 000027 000042 000731 300047 "                                          
"2013" "000006" "000021 000027 000731 002227 "                                                
"2014" "000006" "000027 000731 002227 "                                                        
"2015" "000006" "000027 002227 "                                                               
"2016" "000006" "000027 002227 002831 300568 "                                                
"2017" "000006" "002042 002215 002583 300115 "                                                
"2018" "000006" "002042 002583 300115 "                                                        
"2019" "000006" "001914 002042 002421 002583 300115 "                                          
"2020" "000006" "000042 000615 001914 002042 002421 002583 300115 "                           
"2013" "000008" "000532 300264 "                                                               
"2014" "000008" "000532 "                                                                     
"2015" "000008" "000018 002707 "                                                               
"2016" "000008" "000018 "                                                                     
"2017" "000008" "000018 "                                                                     
"2018" "000008" "300049 "                                                                     
"2019" "000008" "300049 "                                                                     
"2020" "000008" "300049 "                                                                     
"2008" "000009" "600993 "                                                                     
"2009" "000009" "000040 000040 600993 "                                                        
"2010" "000009" "000040 000040 600238 600993 "                                                
"2011" "000009" "000034 000040 000040 600238 600993 "                                          
"2012" "000009" "000034 000040 000040 600993 "                                                
"2013" "000009" "000040 000040 600993 "                                                        
"2014" "000009" "000040 000040 600993 "                                                        
"2015" "000009" "000040 600993 "                                                               
"2016" "000009" "000040 002512 600993 600993 "                                                
"2017" "000009" "000040 002512 300199 600993 600993 "                                          
"2018" "000009" "300199 300671 600993 "                                                        
"2019" "000009" "300199 300671 600993 "                                                        
"2020" "000009" "300199 300671 600993 "                                                        
"2013" "000010" "000593 600082 "                                                               
"2014" "000010" "000593 000695 "                                                               
"2015" "000010" "000553 000593 000695 002494 "                                                
"2016" "000010" "000553 002023 002343 300113 "                                                
"2017" "000010" "002343 300113 600802 "                                                        
"2018" "000010" "600678 600802 "                                                               
"2020" "000010" "600678 600802 "                                                               
"2009" "000011" "000029 000045 000090 "                                                        
"2010" "000011" "000029 000090 "                                                               
"2011" "000011" "000023 000029 000090 "                                                        
"2012" "000011" "000023 000029 002666 "                                                        
"2013" "000011" "000023 000029 000048 "                                                        
"2014" "000011" "000029 000048 000677 "                                                        
"2015" "000011" "000029 "                                                                     
"2016" "000011" "000029 000677 "                                                               
"2017" "000011" "000029 000677 000679 002285 "                                                
"2018" "000011" "002218 002285 "                                                               
"2019" "000011" "002218 002528 688088 "                                                        
"2020" "000011" "002218 002528 688088 "                                                        
"2008" "000012" "000090 002138 600548 "                                                        
"2009" "000012" "002138 600548 "                                                               
"2010" "000012" "002168 300077 300093 600548 "                                                
"2011" "000012" "000022 000089 002168 002233 300077 600548 601139 "                           
"2012" "000012" "000022 000089 002233 600368 600548 601139 "                                   
"2013" "000012" "000022 000089 002238 002303 600368 600548 "                                   
"2014" "000012" "000089 002238 002303 600548 601139 "                                          
"2015" "000012" "000089 002238 002303 002609 300238 601139 "                                   
"2016" "000012" "000016 000078 000601 002786 300238 300543 600383 600872 603067 "              
"2017" "000012" "000016 000078 000601 002152 002786 300543 600872 603028 603067 603882 "      
"2018" "000012" "000078 000601 002152 002786 002811 300621 600712 600872 603028 603067 603882 "
"2019" "000012" "000601 002152 002786 300621 600712 600872 603882 "                           
"2020" "000012" "000601 000601 002152 002786 300198 600712 600782 600872 603882 "              

9
pengxhan 发表于 2022-1-1 14:21:58
2018" "000002" "000016 000068 600028 "                                                        
"2019" "000002" "000016 000651 002189 600028 "                                                
"2020" "000002" "000651 002189 002352 600028 601618 "
2019年比2018增加还是减少?还是把增减都记录? 2020比2019也是这样 互相交错时候如何计算?

10
爱汽水不爱果汁 发表于 2022-1-2 14:11:11
pengxhan 发表于 2022-1-1 14:21
2018" "000002" "000016 000068 600028 "                                                        
"20 ...
你好,增减都需要记录,比如1 2 3到1 1 2,增加了1,减少了3.

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

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