楼主: lancelot22
1907 2

[数据管理求助] 如何根据时间跨度对一个变量生成多个变量? [推广有奖]

  • 1关注
  • 1粉丝

本科生

20%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
535 点
帖子
21
精华
0
在线时间
129 小时
注册时间
2018-4-7
最后登录
2021-10-9

楼主
lancelot22 发表于 2018-6-8 13:05:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
下面第一个表,stkcd1是股票代码,province是省份编码:
stkcd1

type

province
000850.SZ

A股

1

603429.SH

A股

1

600502.SH

A股

1

600552.SH

A股

2

000930.SZ

A股

2



第二个表是,acc是年份,province是省份编码:
accprovinceindex

2008/1/1

1

6

2009/1/1

1

6.1

2010/1/1

1

6.18

2011/1/1

1

6.53

2012/1/1

1

6.36

2013/1/1

1

6.61

2014/1/1

1

7.46

2008/1/1

2

7.23

2009/1/1

2

7.34

2010/1/1

2

7.66

2011/1/1

2

7.83

2012/1/1

2

8.31

2013/1/1

2

8.7

2014/1/1

2

9.08



现在,我想根据表2的province编号,在表1生成多个对应于2008-2010年的stkcd1,并且两个表合并在一起。
结果如下:
stkcd1

type

provinceaccindex
000850.SZ

A股

1

2008/1/1

6

000850.SZ

A股

1

2009/1/1

6.1

000850.SZ

A股

1

2010/1/1

6.18

000850.SZ

A股

1

2011/1/1

6.53

000850.SZ

A股

1

2012/1/1

6.36

000850.SZ

A股

1

2013/1/1

6.61

000850.SZ

A股

1

2014/1/1

7.46

603429.SH

A股

1

2008/1/1

6

603429.SH

A股

1

2009/1/1

6.1

603429.SH

A股

1

2010/1/1

6.18

603429.SH

A股

1

2011/1/1

6.53

603429.SH

A股

1

2012/1/1

6.36

603429.SH

A股

1

2013/1/1

6.61

603429.SH

A股

1

2014/1/1

7.46

600502.SH

A股

1

2008/1/1

6

600502.SH

A股

1

2009/1/1

6.1

600502.SH

A股

1

2010/1/1

6.18

600502.SH

A股

1

2011/1/1

6.53

600502.SH

A股

1

2012/1/1

6.36

600502.SH

A股

1

2013/1/1

6.61

600502.SH

A股

1

2014/1/1

7.46

600552.SH

A股

2

2008/1/1

7.23

600552.SH

A股

2

2009/1/1

7.34

600552.SH

A股

2

2010/1/1

7.66

600552.SH

A股

2

2011/1/1

7.83

600552.SH

A股

2

2012/1/1

8.31

600552.SH

A股

2

2013/1/1

8.7

600552.SH

A股

2

2014/1/1

9.08

000930.SZ

A股

2

2008/1/1

7.23

000930.SZ

A股

2

2009/1/1

7.34

000930.SZ

A股

2

2010/1/1

7.66

000930.SZ

A股

2

2011/1/1

7.83

000930.SZ

A股

2

2012/1/1

8.31

000930.SZ

A股

2

2013/1/1

8.7

000930.SZ

A股

2

2014/1/1

9.08




简单来说,比如,表1的stkcd1的000850.SZ只有一个,对应的province是1,现在根据表2中的province为1,将000850.SZ复制出来对应于2008-2014年的7个000850.SZ,并合并了表1和表2。

请问各位大神这在STATA需要怎么操作呢?非常感谢!!!
如有疑问的地方请提出!谢谢!


STATA数据如下:

表1:

----------------------- copy starting from the next line -----------------------
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str9 stkcd1 str4 type byte province
  4. "000850.SZ" "A股" 1
  5. "603429.SH" "A股" 1
  6. "600502.SH" "A股" 1
  7. "600552.SH" "A股" 2
  8. "000930.SZ" "A股" 2
  9. end
复制代码

------------------ copy up to and including the previous line ------------------




表2:
----------------------- copy starting from the next line -----------------------
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input int acc byte province double index
  4. 17532 1    6
  5. 17898 1  6.1
  6. 18263 1 6.18
  7. 18628 1 6.53
  8. 18993 1 6.36
  9. 19359 1 6.61
  10. 19724 1 7.46
  11. 17532 2 7.23
  12. 17898 2 7.34
  13. 18263 2 7.66
  14. 18628 2 7.83
  15. 18993 2 8.31
  16. 19359 2  8.7
  17. 19724 2 9.08
  18. end
  19. format %tdnn/dd/CCYY acc
复制代码

------------------ copy up to and including the previous line ------------------




二维码

扫码加我 拉你入群

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

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


回帖推荐

黃河泉 发表于2楼  查看完整内容

看看是否这样OK?

沙发
黃河泉 在职认证  发表于 2018-6-8 15:17:26
看看是否这样
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str9 stkcd1 str4 type byte province
  4. "000850.SZ" "A股" 1
  5. "603429.SH" "A股" 1
  6. "600502.SH" "A股" 1
  7. "600552.SH" "A股" 2
  8. "000930.SZ" "A股" 2
  9. end

  10. tempfile a
  11. save `a'

  12. * Example generated by -dataex-. To install: ssc install dataex
  13. clear
  14. input int acc byte province double index
  15. 17532 1    6
  16. 17898 1  6.1
  17. 18263 1 6.18
  18. 18628 1 6.53
  19. 18993 1 6.36
  20. 19359 1 6.61
  21. 19724 1 7.46
  22. 17532 2 7.23
  23. 17898 2 7.34
  24. 18263 2 7.66
  25. 18628 2 7.83
  26. 18993 2 8.31
  27. 19359 2  8.7
  28. 19724 2 9.08
  29. end
  30. format %tdnn/dd/CCYY acc

  31. joinby province using `a'
  32. sort province stkcd1 acc
复制代码
OK?

藤椅
lancelot22 发表于 2018-6-8 19:39:04
黃河泉 发表于 2018-6-8 15:17
看看是否这样OK?
是的,非常感谢!我会自己学习一下!谢谢!

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

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