楼主: forever+
1835 5

[数据管理求助] stata中和stack命令作用相反的命令是什么? [推广有奖]

  • 0关注
  • 0粉丝

博士生

11%

还不是VIP/贵宾

-

威望
0
论坛币
2531 个
通用积分
7.7961
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1790 点
帖子
110
精华
0
在线时间
323 小时
注册时间
2018-9-20
最后登录
2022-5-5

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
stack命令是把数据多列堆砌成一列或者多列,但是我现在想把堆砌的数据还原,应该用什么命令啊
二维码

扫码加我 拉你入群

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

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

关键词:stack Stata tata

沙发
黃河泉 在职认证  发表于 2019-11-13 16:33:17 |只看作者 |坛友微信交流群
你若要问程序,永远附上相关资料 (请不要用截图);若附上资料,永远用 dataex 印出资料。
•        先 ssc install dataex (并见说明),将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。
•        请参考说明 https://bbs.pinggu.org/thread-5048204-1-1.html

使用道具

藤椅
forever+ 发表于 2019-11-13 17:16:49 |只看作者 |坛友微信交流群
黃河泉 发表于 2019-11-13 16:33
你若要问程序,永远附上相关资料 (请不要用截图);若附上资料,永远用 dataex 印出资料。
•        先 ssc  ...
原始数据
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input int year byte(old male female)
  4. 2000 22 1 2
  5. 2000 23 3 4
  6. 2000 24 5 6
  7. 2000 25 7 8
  8. 2001 22 1 2
  9. 2001 23 3 4
  10. 2001 24 5 6
  11. 2001 25 7 8
  12. 2002 22 1 2
  13. 2002 23 3 4
  14. 2002 24 5 6
  15. 2002 25 7 8
  16. 2003 22 1 2
  17. 2003 23 3 4
  18. 2003 24 5 6
  19. 2003 25 7 8
  20. 2004 22 1 2
  21. 2004 23 3 4
  22. 2004 24 5 6
  23. 2004 25 7 8
  24. end
复制代码

我想把他转化为的样子如下:
yearold malefemaleyearold malefemaleyearold malefemaleyearold malefemaleyearold malefemale

2000

22

1

2

2001

22

1

2

2002

22

1

2

2003

22

1

2

2004

22

1

2

2000

23

3

4

2001

23

3

4

2002

23

3

4

2003

23

3

4

2004

23

3

4

2000

24

5

6

2001

24

5

6

2002

24

5

6

2003

24

5

6

2004

24

5

6

2000

25

7

8

2001

25

7

8

2002

25

7

8

2003

25

7

8

2004

25

7

8

当数据量比较大时,请问老师可以用什么样简单点的方法,麻烦老师了

使用道具

板凳
蓝色 发表于 2019-11-13 17:40:15 |只看作者 |坛友微信交流群
  1. gen g=year
  2. gen id=old
  3. reshape wide year old male female,i(id) j(g)
  4. drop id
复制代码

使用道具

报纸
黃河泉 在职认证  发表于 2019-11-13 18:44:19 |只看作者 |坛友微信交流群
forever+ 发表于 2019-11-13 17:16
原始数据

我想把他转化为的样子如下:
Wouter Wakker 建議:
  1. . webuse stackxmpl, clear

  2. . list

  3.      +---------------+
  4.      | a   b   c   d |
  5.      |---------------|
  6.   1. | 1   2   3   4 |
  7.   2. | 5   6   7   8 |
  8.      +---------------+

  9. .         
  10. . stack a b c d, into(e f) clear

  11. . list

  12.      +----------------+
  13.      | _stack   e   f |
  14.      |----------------|
  15.   1. |      1   1   2 |
  16.   2. |      1   5   6 |
  17.   3. |      2   3   4 |
  18.   4. |      2   7   8 |
  19.      +----------------+

  20. .
  21. . bysort _stack: gen i = _n

  22. . reshape wide e f, i(i) j(_stack)
  23. (note: j = 1 2)

  24. Data                               long   ->   wide
  25. -----------------------------------------------------------------------------
  26. Number of obs.                        4   ->       2
  27. Number of variables                   4   ->       5
  28. j variable (2 values)            _stack   ->   (dropped)
  29. xij variables:
  30.                                       e   ->   e1 e2
  31.                                       f   ->   f1 f2
  32. -----------------------------------------------------------------------------

  33. . list

  34.      +-----------------------+
  35.      | i   e1   f1   e2   f2 |
  36.      |-----------------------|
  37.   1. | 1    1    2    3    4 |
  38.   2. | 2    5    6    7    8 |
  39.      +-----------------------+

  40. .
  41. . drop i

  42. . rename * (a b c d)

  43. . list

  44.      +---------------+
  45.      | a   b   c   d |
  46.      |---------------|
  47.   1. | 1   2   3   4 |
  48.   2. | 5   6   7   8 |
  49.      +---------------+
复制代码

使用道具

地板
forever+ 发表于 2019-11-13 19:06:43 来自手机 |只看作者 |坛友微信交流群
蓝色 发表于 2019-11-13 17:40
谢谢老师{:3_59:}我试了一下,非常棒

使用道具

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

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

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

GMT+8, 2024-4-28 19:01