楼主: liuwynton
2248 5

[其他] [求助]生成Panel数据 [推广有奖]

  • 0关注
  • 2粉丝

硕士生

48%

还不是VIP/贵宾

-

威望
0
论坛币
1928 个
通用积分
1.0308
学术水平
17 点
热心指数
13 点
信用等级
15 点
经验
1258 点
帖子
49
精华
1
在线时间
149 小时
注册时间
2007-11-4
最后登录
2023-8-6

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我有一个数据,有一部分是观察点的固定变量(各年数据一样),而时间序列部分是按照不同的变量名横向排列的,部分数据如下:
nohygmprovdista1_1a1_2a1_3a1_4a1_5a3_1a3_2a3_3a3_4a3_5
1351112222232451
3352112222223417
4212112224436182
5202112222223165


no表示观察点序号,hy, gm, prov, dist是固定项,a1_1至a1_5分别表示a1变量第1年至第5年的值。用stack命令生成标准的panel时,必须要把固定项复制,才能匹配。如果时间序列变量数很多的话,挺麻烦的。不知有没有方便一点的方法,请各位高手指点。
二维码

扫码加我 拉你入群

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

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

关键词:panel数据 Panel pane stack 时间序列

沙发
sungmoo 发表于 2009-7-1 17:23:03 |只看作者 |坛友微信交流群
*仅就如上给出的数据库(时间跨度是5年)
expand 5
sort no-dist
foreach j in 1 3{
forv i=1/5{
bys no-dist: replace a`j'_`i'=. if `i'!=_n
}
egen a`j'=rowtotal(a`j'_*)
drop a`j'_*
}

使用道具

藤椅
蓝色 发表于 2009-7-1 17:43:17 |只看作者 |坛友微信交流群
一行命令
reshape long a1_  a3_, i(no)  j(year)

使用道具

板凳
liuwynton 发表于 2009-7-2 07:41:39 |只看作者 |坛友微信交流群
感谢二位版主帮助。

使用道具

报纸
simon0217 在职认证  发表于 2009-7-2 10:38:00 |只看作者 |坛友微信交流群
我也受教了,谢谢
大漠孤烟直,长河落日圆。

使用道具

地板
sndhdau 发表于 2010-4-29 11:23:08 |只看作者 |坛友微信交流群
我是初学者,看不懂……

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 06:30