楼主: wangzt
16358 14

我想将我的数据转置,怎么办? [推广有奖]

11
蓝色 发表于 2008-4-21 10:09:00
以下是引用wangzt在2008-4-21 4:57:00的发言:

都可以,就是xpose直观一些,但要对变量重新命名,reshape对数据结构有一定要求,我的老出错,必须将一些字符型的变量删掉才能用。

如我的数据:http://wangzengtao.googlepages.com/urban.dta

我用reshape时我得把变量:item和aver删掉,然后再用,不然提示出错:

. use urban.dta, replace
. *drop aver item
. keep if year==2003
(0 observations deleted)
. reshape long l, i(id) j(level)
(note: j = 1 2 3 4 5)
Data                               wide   ->   long
-----------------------------------------------------------------------------
Number of obs.                        9   ->      45
Number of variables                   9   ->       6
j variable (5 values)                     ->   level
xij variables:
                           l1 l2 ... l5   ->   l
-----------------------------------------------------------------------------
. reshape wide l, j(id) i(level)
(note: j = 1 2 3 4 5 6 7 8 9)
item not constant within level
aver not constant within level
Type "reshape error" for a listing of the problem observations.

Xpose很方便,但要对变量重新命名,当变量很多的时候有点麻烦。。。。。不知道能不能批量重命名。比如将v1 v2 v3 命名为item2 item3 item4?



xpose对于含字符的就会删除

reshape就没有问题

变量多就的用reshape

12
蓝色 发表于 2008-4-21 12:47:00

. use "C:\urban1.dta", clear


. drop   aver id

. list

     +----------------------------------------------------------------+
     |  item   year        l1        l2        l3        l4        l5 |
     |----------------------------------------------------------------|
  1. |    HY   2003   2590.17   2098.92   3970.03   5377.25   7278.75 |
  2. | Item1   2003   2562.36   2237.27   3549.28   4557.82   5848.02 |
  3. | Item2   2003    594.54    515.48    844.95   1127.89   1505.72 |
  4. | Item3   2003   1222.76    1087.2   1594.67   1926.06   2293.98 |
  5. | Item4   2003    279.91    271.38    297.82    312.89    316.95 |
     |----------------------------------------------------------------|
  6. | Item5   2003    170.66    166.58    178.47    188.56    190.53 |
  7. | Item6   2003      15.1     15.41     15.52      16.3     16.62 |
  8. | Item7   2003      23.8     22.35     26.89      28.4     30.87 |
  9. | Item8   2003     70.35     67.04     76.94     79.64     78.92 |
 10. |    HY   2002   2590.17   2098.92   3970.03   5377.25   7278.75 |
     |----------------------------------------------------------------|
 11. | Item1   2002   2562.36   2237.27   3549.28   4557.82   5848.02 |
 12. | Item2   2002    594.54    515.48    844.95   1127.89   1505.72 |
 13. | Item3   2002   1222.76    1087.2   1594.67   1926.06   2293.98 |
 14. | Item4   2002    279.91    271.38    297.82    312.89    316.95 |
 15. | Item5   2002    170.66    166.58    178.47    188.56    190.53 |
     |----------------------------------------------------------------|
 16. | Item6   2002      15.1     15.41     15.52      16.3     16.62 |
 17. | Item7   2002      23.8     22.35     26.89      28.4     30.87 |
 18. | Item8   2002     70.35     67.04     76.94     79.64     78.92 |
     +----------------------------------------------------------------+

. reshape long l,i(year item) j(code)
(note: j = 1 2 3 4 5)

Data                               wide   ->   long
-----------------------------------------------------------------------------
Number of obs.                       18   ->      90
Number of variables                   7   ->       4
j variable (5 values)                     ->   code
xij variables:
                           l1 l2 ... l5   ->   l
-----------------------------------------------------------------------------

. reshape wide l,i(year code) j(item)string
(note: j = HY Item1 Item2 Item3 Item4 Item5 Item6 Item7 Item8)

Data                               long   ->   wide
-----------------------------------------------------------------------------
Number of obs.                       90   ->      10
Number of variables                   4   ->      11
j variable (9 values)              item   ->   (dropped)
xij variables:
                                      l   ->   lHY lItem1 ... lItem8
-----------------------------------------------------------------------------

. list

     +--------------------------------------------------------------------------------------------------+
     | year   code       lHY    lItem1    lItem2    lItem3   lItem4   lItem5   lItem6   lItem7   lItem8 |
     |--------------------------------------------------------------------------------------------------|
  1. | 2002      1   2590.17   2562.36    594.54   1222.76   279.91   170.66     15.1     23.8    70.35 |
  2. | 2002      2   2098.92   2237.27    515.48    1087.2   271.38   166.58    15.41    22.35    67.04 |
  3. | 2002      3   3970.03   3549.28    844.95   1594.67   297.82   178.47    15.52    26.89    76.94 |
  4. | 2002      4   5377.25   4557.82   1127.89   1926.06   312.89   188.56     16.3     28.4    79.64 |
  5. | 2002      5   7278.75   5848.02   1505.72   2293.98   316.95   190.53    16.62    30.87    78.92 |
     |--------------------------------------------------------------------------------------------------|
  6. | 2003      1   2590.17   2562.36    594.54   1222.76   279.91   170.66     15.1     23.8    70.35 |
  7. | 2003      2   2098.92   2237.27    515.48    1087.2   271.38   166.58    15.41    22.35    67.04 |
  8. | 2003      3   3970.03   3549.28    844.95   1594.67   297.82   178.47    15.52    26.89    76.94 |
  9. | 2003      4   5377.25   4557.82   1127.89   1926.06   312.89   188.56     16.3     28.4    79.64 |
 10. | 2003      5   7278.75   5848.02   1505.72   2293.98   316.95   190.53    16.62    30.87    78.92 |
     +--------------------------------------------------------------------------------------------------+

.
end of do-file

[此贴子已经被作者于2008-4-21 13:20:06编辑过]

13
wangzt 发表于 2008-4-21 20:23:00
蓝色真强大,,,向你学习致敬!!!!

14
arlionn 在职认证  发表于 2008-4-23 09:13:00
xpose is feasible.

15
王教授卐 学生认证  发表于 2015-10-26 22:08:48
excel转置再转过来

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

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