楼主: chocokids
13267 9

[数据管理求助] 如何用stata把矩阵的值变成一列变量? [推广有奖]

  • 0关注
  • 2粉丝

博士生

8%

还不是VIP/贵宾

-

威望
0
论坛币
114 个
通用积分
0.0600
学术水平
1 点
热心指数
6 点
信用等级
1 点
经验
1448 点
帖子
245
精华
0
在线时间
77 小时
注册时间
2013-4-26
最后登录
2020-3-29

楼主
chocokids 发表于 2014-10-8 10:09:27 |AI写论文
1论坛币
是一份pannel data 11年,每个id代表一个国家,每个国家和国家有个相对data,也就是说如果有3个国家就有3x3的一个矩阵,矩阵里是两两国家相对应的一个data,我要把它变成一个变量,也就是把矩阵的值变成一个列,要怎么做?用reshape long?

id  year  c1    c2     c3
1    07    4      5      6
1    08    7      8      9
1    09    10    11    12
2    07    14    15    16
2    08    17    18    19
2    09    110  111  112
3    07    24   25   26
3    08    27   28   29
3    09    210 211 212

比如我现在有这样一组矩阵数据 id的123就是c1c2c3
然后我想变成

id  year  idn     fe
1    07    c1      4
1    07    c2      5  
1    07    c3      6  
1    08    c1      7  
1    08    c2      8  
1    08    c3      9
1    09    c1     10  
1    09    c2     11  
1    09    c3     12
2    07....

以此类推的数据,应该可以变的吧?
关键词:Stata tata 如何用 reshape pannel 如何

沙发
ywh19860616 发表于 2014-10-8 10:09:28
chocokids 发表于 2014-10-8 14:57
试过了,不行也
  1. . clear *

  2. . input id  year  c1    c2     c3

  3.              id        year          c1          c2          c3
  4.   1. 1    07    4      5      6
  5.   2. 1    08    7      8      9
  6.   3. 1    09    10    11    12
  7.   4. 2    07    14    15    16
  8.   5. 2    08    17    18    19
  9.   6. 2    09    110  111  112
  10.   7. 3    07    24   25   26
  11.   8. 3    08    27   28   29
  12.   9. 3    09    210 211 212
  13. 10. end

  14. .
  15. . reshape long c, i(id year) j(yeary)
  16. (note: j = 1 2 3)

  17. Data                               wide   ->   long
  18. -----------------------------------------------------------------------------
  19. Number of obs.                        9   ->      27
  20. Number of variables                   5   ->       4
  21. j variable (3 values)                     ->   yeary
  22. xij variables:
  23.                                c1 c2 c3   ->   c
  24. -----------------------------------------------------------------------------

  25. . list

  26.      +-------------------------+
  27.      | id   year   yeary     c |
  28.      |-------------------------|
  29.   1. |  1      7       1     4 |
  30.   2. |  1      7       2     5 |
  31.   3. |  1      7       3     6 |
  32.   4. |  1      8       1     7 |
  33.   5. |  1      8       2     8 |
  34.      |-------------------------|
  35.   6. |  1      8       3     9 |
  36.   7. |  1      9       1    10 |
  37.   8. |  1      9       2    11 |
  38.   9. |  1      9       3    12 |
  39. 10. |  2      7       1    14 |
  40.      |-------------------------|
  41. 11. |  2      7       2    15 |
  42. 12. |  2      7       3    16 |
  43. 13. |  2      8       1    17 |
  44. 14. |  2      8       2    18 |
  45. 15. |  2      8       3    19 |
  46.      |-------------------------|
  47. 16. |  2      9       1   110 |
  48. 17. |  2      9       2   111 |
  49. 18. |  2      9       3   112 |
  50. 19. |  3      7       1    24 |
  51. 20. |  3      7       2    25 |
  52.      |-------------------------|
  53. 21. |  3      7       3    26 |
  54. 22. |  3      8       1    27 |
  55. 23. |  3      8       2    28 |
  56. 24. |  3      8       3    29 |
  57. 25. |  3      9       1   210 |
  58.      |-------------------------|
  59. 26. |  3      9       2   211 |
  60. 27. |  3      9       3   212 |
  61.      +-------------------------+

  62. .
  63. end of do-file

  64. .
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
txje + 2 + 2 + 2 热心帮助其他会员

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

藤椅
单神傲银 发表于 2014-10-8 10:21:33
写得真好                                                                        
                                       
                                                     
                                                     
                                             
                                                                 
                                                                                 

板凳
hyu9910 在职认证  发表于 2014-10-8 10:32:00
也可以先gen一个空值变量,然后通过循环计算等对变量赋值

报纸
chocokids 发表于 2014-10-8 11:42:23
hyu9910 发表于 2014-10-8 10:32
也可以先gen一个空值变量,然后通过循环计算等对变量赋值
具体的循环语句是什么呢

地板
ywh19860616 发表于 2014-10-8 12:39:16
最好可以给样本数据,举一个实例

  1. clear *
  2. input v1 v2
  3. 1 2
  4. 3 4
  5. 5 6
  6. end
  7. stack v*,into(fr) clear
复制代码

7
chocokids 发表于 2014-10-8 13:25:33
ywh19860616 发表于 2014-10-8 12:39
最好可以给样本数据,举一个实例
id  year  c1    c2     c3
1    07    4      5      6
1    08    7      8      9
1    09    10    11    12
2    07    14    15    16
2    08    17    18    19
2    09    110  111  112
3    07    24   25   26
3    08    27   28   29
3    09    210 211 212

比如我现在有这样一组矩阵数据 id的123就是c1c2c3
然后我想变成

id  year  idn     fe
1    07    c1      4
1    07    c2      5  
1    07    c3      6  
1    08    c1      7  
1    08    c2      8  
1    08    c3      9
1    09    c1     10  
1    09    c2     11  
1    09    c3     12
2    07....

以此类推的数据,应该可以变的吧?

8
ywh19860616 发表于 2014-10-8 14:24:47
chocokids 发表于 2014-10-8 13:25
id  year  c1    c2     c3
1    07    4      5      6
1    08    7      8      9
  1. reshape long c, i(id year) j(yeary)
复制代码

9
chocokids 发表于 2014-10-8 14:57:25
ywh19860616 发表于 2014-10-8 14:24
试过了,不行也

10
chocokids 发表于 2014-10-9 08:36:58
ywh19860616 发表于 2014-10-8 10:09
好我再试一下,辛苦了。非常感谢!

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

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