楼主: steeds
28573 16

[数据管理求助] 请问如何把横向排列的数据整理成竖向排列的面板数据 [推广有奖]

11
纯敏 发表于 2016-12-24 22:19:07
数据的长宽变换http://book.2cto.com/201412/48763.html

(无意中看到的,觉得不错,贴一下,感谢作者)

12
uglyljr 发表于 2020-4-24 15:37:30
jjjj6666 发表于 2014-3-13 22:56
try:

/* if the data is like
你好。我现在的数据是这样的
股票代码  var1-2000 var1-2001 var1-2002 var1-2003 var2-2000 var2-2001 var2-2002 var2-2003
    1               2               2            2.1            2.3          4             4.2            4.5           4.8
    2               21             22           22.1          22.3        44             44.2        46.5           44.6

我想转换成一般的面板数据格式

股票代码      年份        var1       var2
     1           2000          2             4
     1           2001          2             4.2
     1           2002          2.1         4.5
     1           2003          2.3         4.8
     2           2000         21           44
     2           2001         22           44.2
     2           2002         22.1         46.5
     2           2003         22.3         44.6

要怎么处理比较方便呢?谢谢。

13
海阔天空锦鲤 学生认证  发表于 2021-1-13 18:42:40
uglyljr 发表于 2020-4-24 15:37
你好。我现在的数据是这样的
股票代码  var1-2000 var1-2001 var1-2002 var1-2003 var2-2000 var2-2001  ...
请问同学知道怎么转了么,谢谢

14
木牛流马0 学生认证  发表于 2021-9-6 16:37:15
海阔天空锦鲤 发表于 2021-1-13 18:42
请问同学知道怎么转了么,谢谢
上个人的应该用,reshape long var1 var2, i(股票代码) j(j),假如命令不行,就把变量名改为var1-2000改为a1,var1-2001改为a2...,var2-2000改为b1...。命令改为reshape long a b, i(股票代码) j(j)

15
爱马男孩 发表于 2023-5-23 20:28:25
dogmamongo 发表于 2014-3-13 23:06
转置
用sas处理挺快的
请问怎么转呢

16
dcc1001 在职认证  发表于 2023-7-14 17:39:29
纯敏 发表于 2016-12-24 22:19
数据的长宽变换http://book.2cto.com/201412/48763.html

(无意中看到的,觉得不错,贴一下,感谢作者) ...
这个链接,让我成功了。内容如下:
在面板数据中,如果包含两个以上的标识变量,则数据有两种表现形式:一种是长数据,另一种是宽数据。在长宽数据的转换中,所使用到的命令为reshape命令,具体命令语句为:

reshape long stubnames, i(varlist) [options]
reshape wide stubnames, i(varlist) [options]

long表示将宽数据转化为长数据,wide表示将长数据转化成宽数据,stubnames表示需要转化的变量的名称前缀,i(varlist)表示识别变量。options最常用的为j(varname [values]),它表示用于进行长宽变换的变量,通常为时间变量。
我的原始数据格式是700多个城市面板(年份没截全哈):
id       popdens_2002        popdens_2003        popdens_2004        popdens_2005        popdens_2006        popdens_2007        popdens_2008       
北京        2099               2128                    2623             937                     1094                    1132        1181
天津        831        841        852        863        2590        2912        2858
河北        2039        2057        2107        2132        2444        2376        2375
石家庄        4343        4419        4554        4704        10636        10831        11005
辛集        6141        6141        6245        6245        1621        1327        1309
藁城        3775        3799        3831        3831        1449        1423        1432
晋州        4641        4706        4902        5359        5882        991        1121
。。。。
操作:第一列 是自己加上去的“id        popdens_2002        popdens_2003        popdens_2004        popdens_2005        popdens_2006        popdens_2007        popdens_2008        popdens_2009        popdens_2010        popdens_2011        popdens_2012        popdens_2013        popdens_2014        popdens_2015        popdens_2016        popdens_2017        popdens_2018        popdens_2019        popdens_2020”,主要是给各个年份数字,加一个前缀,这个前缀很关键,在后面要用到这个前缀,例如本例中的“popdens_”
代码:
reshape long popdens_, i(id) j(year)
运行结果:
id        year        popdens_
七台河        2002        279
七台河        2003        285
七台河        2004        294
七台河        2005        291
七台河        2006        6499
七台河        2007        6527
七台河        2008        6570
七台河        2009        6793
七台河        2010        6181
七台河        2011        1287
七台河        2012        1313
七台河        2013        1313
七台河        2014        1314
七台河        2015        5985
七台河        2016        2140
七台河        2017        6071
七台河        2018        6193.787
七台河        2019        6177.5148
七台河        2020        6177.5148
万宁           2002        5208
万宁          2003        5236
万宁          2004        5271
万宁                2005        1322
万宁          2006        1343
万宁                2007        1367
万宁          2008        1393
万宁          2009        1395
。。。等700多个城市

17
dcc1001 在职认证  发表于 2023-7-14 17:40:36
数据的长宽变换http://book.2cto.com/201412/48763.html

(无意中看到的,觉得不错,贴一下,感谢作者) 很好!!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-1 22:58