楼主: Brook1114
7335 1

[Stata高级班] 如何整理面板数据? [推广有奖]

  • 0关注
  • 0粉丝

硕士生

98%

还不是VIP/贵宾

-

威望
0
论坛币
735 个
通用积分
0
学术水平
1 点
热心指数
0 点
信用等级
0 点
经验
2392 点
帖子
124
精华
0
在线时间
39 小时
注册时间
2009-2-4
最后登录
2020-9-8

楼主
Brook1114 发表于 2010-11-8 07:24:20 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
大家好:
       对于原始的数据,经过观察应该是面板数据。
       原始格式为:  id1  year1_var year2_var year3_var
                              id2  year1_var year2_var year3_var
                              id3  year1_var year2_var year3_var
       这个原始数据中,每个id的相关各年变量被放在同一行中。这种情况应该如何整理为STATA接受的面板数据格式(即每个id 对应连续的年份和相关的各年变量值)?
       希望转化为: id1 year1  varlist
                                id1 year2  varlist
                                id1 year3  varlist
                                id2  year1 varlist
                                id2  year2 varlist
                                id2  year3 varlist

谢谢。
二维码

扫码加我 拉你入群

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

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

关键词:面板数据 varlist Stata year list Data Panel

沙发
arlionn 在职认证  发表于 2010-11-8 14:42:53
这在stata初级视频第 2.7.2 小节有详细讲解。

可以采用 reshape 命令进行处理。

下面给一个简单的例子:

  * 原始资料(可能来自网页等途径)  -wide-型数据

                       income                unemployee         
   -----------------------------------+----------------------
    id   sex    1980    1981    1982  |  1980   1981    1982  
   -----------------------------------+----------------------
     1     0    5000    5500    6000  |    0      1      0  
     2     1    2000    2200    3300  |    1      0      0  
     3     0    3000    2000    1000  |    0      0      1
   -----------------------------------+----------------------

  * 整理后的资料     -wide-型数据
    id   sex   inc80   inc81   inc82   ue80   ue81   ue82  
     1     0    5000    5500    6000      0      1      0  
     2     1    2000    2200    3300      1      0      0  
     3     0    3000    2000    1000      0      0      1

  * 最终需要的资料(panel data)    -long-型数据
    id   year   sex    inc   ue  
     1   1980     0   5000    0  
     1   1981     0   5500    1  
     1   1982     0   6000    0  
     2   1980     1   2000    1  
     2   1981     1   2200    0  
     2   1982     1   3300    0  
     3   1980     0   3000    0  
     3   1981     0   2000    0  
     3   1982     0   1000    1


*========codes=============
     
  *- wide --> long
     use reshape1.dta, clear
     list
     reshape long inc ue, i(id) j(year) // sex 不发生变化,无需转换
                                        // j() 选项中填写新的变量名称
     list, sepby(id)
     replace year = real("19" + string(year))
     list, sepby(id)
已有 1 人评分热心指数 收起 理由
碧海潇湘 + 1 精彩帖子

总评分: 热心指数 + 1   查看全部评分

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

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