楼主: Kristy0818
4186 7

[数据管理求助] 如何把对应同一股票代码的不同年份和注册地合并在一起? [推广有奖]

  • 1关注
  • 0粉丝

高中生

22%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
159 点
帖子
19
精华
0
在线时间
17 小时
注册时间
2015-11-13
最后登录
2017-6-24

楼主
Kristy0818 发表于 2016-11-28 11:11:20 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
再次请教一个问题,如何把对应同一股票代码的不同年份和注册地合并在一起?
有两份数据如下:
data1:
_Stkcd   year   province
000001   1992    广东
000001   1993    广东
000001   1994    广东
000001   1995    广东
000002    1990    上海
000002    1991    上海

data 2:
_Stkcd   year   province
000001   1996    江西
000001   1997    江西
000001   1998    江西
000001   1999    江西
000001   2000    江西
000002    1992    山东
000002    1993   山东


想实现以下结果:
_Stkcd   year   province
000001   1992    广东
000001   1993    广东
000001   1994    广东
000001   1995    广东
000001   1996    江西
000001   1997    江西
000001   1998    江西
000001   1999    江西

000002    1990    上海
000002    1991    上海

000002    1992    山东
000002    1993   山东


请问要如何实现呢?单纯用append好像不行。麻烦指导一下,谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:股票代码 注册地 在一起 province append 股票代码 如何

沙发
黃河泉 在职认证  发表于 2016-11-28 16:57:32
就是用 append:
  1. clear
  2. input _Stkcd   year  str8 province
  3. 000001   1992    广东
  4. 000001   1993    广东
  5. 000001   1994    广东
  6. 000001   1995    广东
  7. 000002    1990    上海
  8. 000002    1991    上海
  9. end
  10. save "data1.dta", replace

  11. clear
  12. input _Stkcd   year str8  province
  13. 000001   1996    江西
  14. 000001   1997    江西
  15. 000001   1998    江西
  16. 000001   1999    江西
  17. 000001   2000    江西
  18. 000002   1992    山东
  19. 000002   1993    山东
  20. end

  21. append using "data1.dta"
  22. sort _Stkcd   year
复制代码
  1. . list, sep(0)

  2.      +--------------------------+
  3.      | _Stkcd   year   province |
  4.      |--------------------------|
  5.   1. |      1   1992       广东 |
  6.   2. |      1   1993       广东 |
  7.   3. |      1   1994       广东 |
  8.   4. |      1   1995       广东 |
  9.   5. |      1   1996       江西 |
  10.   6. |      1   1997       江西 |
  11.   7. |      1   1998       江西 |
  12.   8. |      1   1999       江西 |
  13.   9. |      1   2000       江西 |
  14. 10. |      2   1990       上海 |
  15. 11. |      2   1991       上海 |
  16. 12. |      2   1992       山东 |
  17. 13. |      2   1993       山东 |
  18.      +--------------------------+
复制代码

藤椅
Kristy0818 发表于 2016-11-30 14:22:53
谢谢您的回复!那如果是两份数据的股票代码数量不同怎么合并呢?
data1:
_Stkcd      province
000002      广东
000003      广东
000005        上海
000006        上海

000010        江苏


data 2:
_Stkcd   year   
000001   1996   
000002   1998  
000003   1998   
000004   1999   
000005   2000   
000006    1992   
000007    2001  
000008    2007
000009    1993
000010    2010


想实现以下结果:
_Stkcd   year   province
000001   1996      .
000002   1998    广东
000003   1998    广东
000004   1999      .
000005   2000    上海
000006   1992    上海
000007   1993      .
000008   1999    江西000009    1993     .
0000010    2010   江苏



板凳
Kristy0818 发表于 2016-11-30 14:23:24
黃河泉 发表于 2016-11-28 16:57
就是用 append:
谢谢您的回复!那如果是两份数据的股票代码数量不同怎么合并呢?
data1:
_Stkcd      province
000002      广东
000003      广东
000005        上海
000006        上海

000010        江苏


data 2:
_Stkcd   year   
000001   1996   
000002   1998  
000003   1998   
000004   1999   
000005   2000   
000006    1992   
000007    2001  
000008    2007
000009    1993
000010    2010


想实现以下结果:
_Stkcd   year   province
000001   1996      .
000002   1998    广东
000003   1998    广东
000004   1999      .
000005   2000    上海
000006   1992    上海
000007   1993      .
000008   1999    江西000009    1993     .
0000010    2010   江苏

报纸
Kristy0818 发表于 2016-11-30 14:35:18
黃河泉 发表于 2016-11-28 16:57
就是用 append:
不好意思,上一个问题我试了一下用append是可以的,请忽略上一个问题,但是如果有两个年份要合并的话应如何实现?data1:
_Stkcd      province    year1
000002      广东           2011
000003      广东           2005
000005        上海         2004
000006        上海        2006
000010        江苏        2003


data 2:
_Stkcd   year2   
000001   1996   
000002   1998  
000003   1998   
000004   1999   
000005   2000   
000006    1992   
000007    2001  
000008    2007
000009    1993
000010    2010


想实现以下结果:
_Stkcd   year2   province year1
000001   1996      .             .
000002   1998    广东       2011
000003   1998    广东      2005
000004   1999      .              .
000005   2000    上海       2004
000006   1992    上海      2006
000007   1993      .             .
000008   1999      .             .000009    1993     .             .
000010    2010   江苏    2003



直接用append的话会变成:
_Stkcd   year2   province year1
000001   1996      .             .
000002   1998  
000002                广东       2011
000003   1998   
000003               广东      2005
000004   1999      .              .
000005   2000   
000005               上海       2004
000006   1992   
000006                上海      2006
000007   1993      .             .
000008   1999      .             .000009    1993     .             .
000010    2010   
000010                 江苏    2003


地板
黃河泉 在职认证  发表于 2016-12-1 07:55:25
  1. clear
  2. input str10 _Stkcd str10 province    year1
  3. 000002      广东           2011
  4. 000003      广东           2005
  5. 000005        上海         2004
  6. 000006        上海        2006
  7. 000010        江苏        2003
  8. end
  9. save data1, replace

  10. clear
  11. input str10 _Stkcd year2   
  12. 000001   1996   
  13. 000002   1998  
  14. 000003   1998   
  15. 000004   1999   
  16. 000005   2000   
  17. 000006    1992   
  18. 000007    2001  
  19. 000008    2007
  20. 000009    1993
  21. 000010    2010
  22. end

  23. merge 1:1 _Stkcd using data1
复制代码

7
Kristy0818 发表于 2016-12-1 12:38:46
黃河泉 发表于 2016-12-1 07:55
谢谢您!

8
今天也要加油ya 发表于 2022-10-24 09:45:43
Kristy0818 发表于 2016-11-30 14:22
谢谢您的回复!那如果是两份数据的股票代码数量不同怎么合并呢?
data1:
_Stkcd      province
你好!请问这个合并代码找到了吗?

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

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