楼主: adict
3721 9

[Stata高级班] 用reshape 整理panel data 数据的问题。。。 [推广有奖]

  • 3关注
  • 0粉丝

博士生

12%

还不是VIP/贵宾

-

威望
0
论坛币
2768 个
通用积分
0
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
2165 点
帖子
112
精华
0
在线时间
341 小时
注册时间
2009-8-11
最后登录
2021-8-16

楼主
adict 发表于 2012-3-1 12:58:53 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请问连老师,
我需要将原始数据整理为panel data 的格式,原始数据格式为下面的样子(所列为变量):
fid  SIZE  INDA06 INDA07 INDA08 INDA09 INDA10 INDB06 INDB07 INDB08 INDB09 INDB10 INDC06......ABSBID
其中fid 是用_n 产生的id 变量,最后的ABSBID 是数据库赋予的编号为字符型数据,其它均为数字型。
我想用reshape 命令转换为 id 和year 的形式,格式为:
reshape long INDA INDB INDC, i(fid) j(year)
可是总是出现错误信息:“may not use reshape on unit record data”
请老师指点如何处理。。谢谢。。
-------------------------------------------
下面是前两个观察值数据,不好意思太长了有些乱。。
=============================================

+------------------------------------------------------------------+
  1. | fid  |     SIZE  |       INDA06  |       INDA07  |       INDA08  |
     |   1  | Non-empl  | $0 to $20,00  | Greater than  | Not reported  |
     |------------------------------------------------------------------|
     |       INDA09 |       INDA10 | INDB06 | INDB07 | INDB08 | INDB09  |
     | Not reported | Not reported |  91215 | 101545 | 101429 |  99020  |
     |------------------------------------------------------------------|
     | INDB10 | INDC06 | INDC07 | INDC08 | INDC09 | INDC10 |     ABSBID |
     | 100130 |      0 |      0 |      0 |      0 |      0 | BLD10E2733 |
     +------------------------------------------------------------------+
     +------------------------------------------------------------------+
  2. | fid  |     SIZE  |       INDA06  |       INDA07  |       INDA08  |
     |   2  | DSB 5 to  | $0 to $20,00  | $0 to $20,00  | Not reported  |
     |------------------------------------------------------------------|
     |       INDA09 |       INDA10 | INDB06 | INDB07 | INDB08 | INDB09  |
     | Not reported | Not reported | 696699 | 931449 | 609437 | 711793  |
     |------------------------------------------------------------------|
     | INDB10 | INDC06 | INDC07 | INDC08 | INDC09 | INDC10 |     ABSBID |
     | 684944 |      0 |      0 |      0 |      0 |      0 | BLD10E2734 |
     +------------------------------------------------------------------+


二维码

扫码加我 拉你入群

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

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

关键词:panel data reshape Panel Shape Data 数据 数据库 record 如何

沙发
arlionn 在职认证  发表于 2012-3-2 18:01:04
reshape 只能针对数值型变量进行转换。
因此,你需要把“Not reported”,“$0 to $20,00”之类的观察值都转换成数字,然后再执行视频中的操作方式。

藤椅
adict 发表于 2012-3-3 17:06:59
多谢。
可是那些变量的“des”显示确实是数值型变量啊,list 出来的是不是它们滴 label 啊;那个“not reported”也是label 吧。。遗憾,数据库不能直接看数据,只能输入命令分析数据。。下面是运行滴 “des”结果。还请老师解惑。。谢谢。。
==================================

. use "tem", clear

. des, detail

Contains data from tem.dta
  obs:         3,432 (max=    6,553,596)      
vars:            18 (max=        5,000)      3 Mar 2012 19:49
width:            87 (max=       60,000)      
size:       312,312 (max=  629,145,384)      
-------------------------------------------------------------------------------
              storage  display     value
variable name   type   format      label      variable label
-------------------------------------------------------------------------------
ABSBID          str10  %10s                  
fid             float  %9.0g                  
SIZE            byte   %8.0g       SIZE       Derived Size Benchmark (DSB)
                                                employment (as used in
                                                stratification)
INDA06          long   %12.0g      V401_06    Exports Custom Value (ICV) -
                                                Total
INDA07          long   %12.0g      V401_07    Exports Custom Value (ICV) -
                                                Total
INDA08          long   %12.0g      V401_08    Exports Custom Value (ECV) -
                                                Total
INDA09          long   %12.0g      V401_09    Exports Custom Value (ECV) -
                                                Total
INDA10          long   %12.0g      V401_10    Exports Custom Value (ECV) -
                                                Total
INDB06          double %10.0g                 BAS: Total sales
INDB07          double %10.0g                 BAS: Total sales
INDB08          long   %12.0g                  BAS: Total sales
INDB09          long   %12.0g                  BAS: Total sales
INDB10          long   %12.0g                  BAS: Total sales
INDC06          long   %12.0g                 BAS: Export sales
INDC07          double %10.0g                 BAS: Export sales
INDC08          long   %12.0g                 BAS: Export sales
INDC09          long   %12.0g                 BAS: Export sales
INDC10          long   %12.0g                 BAS: Export sales
-------------------------------------------------------------------------------
Sorted by:  ABSBID

板凳
adict 发表于 2012-3-6 09:01:52
最新从数据库机构得知, reshape 命令不被允许,另外想到的 stack 命令也不被允许。。
用条件语句,
比如:
    if  f(INDA06)==06{INDA=INDA06
year=2006

else if f(INDA07)==07 {INDA=INDA07
year=2007
}
.......
这样好像也不行,INDA还是不能正确赋值。。请老师指点如何整理?
多谢。。

报纸
arlionn 在职认证  发表于 2012-3-10 20:56:42
你把数据贴入 txt 文档,去掉专属格式,然后再贴回 Stata,看看是否都为数值型,如果是,就可以使用 reshape。

地板
adict 发表于 2012-3-12 09:55:51
多谢。
不过,数据库专用识别符号 ABSBID  在unit record 这个层面上是无法去掉的。下面是数据库的规定:
“All datasets, including temporary (work) datasets, which contain data at the unit record level must contain the ABS-assigned identifier fields for that data. Do not drop such fields (i.e. if you only keep a subset of variables, the identifier fields must be in this subset). Do not rename these fields. Make sure you input these fields if you are reading a text data file version of a CURF. ”

7
arlionn 在职认证  发表于 2012-3-18 21:11:57
这已经不是stata的问题了,你要搜索一下如何解决数据格式的问题,看看采用何种方式能把你的数据弄成 txt 文档。

8
adict 发表于 2012-3-21 14:12:22
谢谢。
俺再想想别滴办法。。

9
arlionn 在职认证  发表于 2012-3-22 07:53:52
看看这个命令是否有用:
help filefilter

10
adict 发表于 2012-3-26 09:29:47

ABS 出于保密滴目的是对数据施加了限制,所以一些命令不能在网上它滴stata系统上执行,只可以在它们办公地点指定滴电脑上使用。还有一种办法就是学习reshape命令滴原程序,自己编一个。。现阶段,俺水平还远远不够。哈哈

再次感谢连老师滴回复。。

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

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